pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

zabbix60-*: Add new Zabbix version



Module Name:	pkgsrc-wip
Committed By:	Yuuki Enomoto <uki%e-yuuki.org@localhost>
Pushed By:	e-yuuki
Date:		Fri Dec 24 22:35:29 2021 +0900
Changeset:	efa78b0667c6f0041acfc48738eb64bc9f267299

Added Files:
	zabbix60-agent/DESCR
	zabbix60-agent/Makefile
	zabbix60-agent/PLIST
	zabbix60-agent/distinfo
	zabbix60-agent/files/smf/manifest.xml
	zabbix60-agent/files/zabbix_agentd.sh
	zabbix60-agent/options.mk
	zabbix60-agent/patches/patch-configure
	zabbix60-agent/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
	zabbix60-agent/patches/patch-src_zabbix__agent_Makefile.in
	zabbix60-frontend/DESCR
	zabbix60-frontend/Makefile
	zabbix60-frontend/PLIST
	zabbix60-frontend/distinfo
	zabbix60-frontend/files/httpd-zabbix.conf
	zabbix60-frontend/files/php-fpm-zabbix.conf
	zabbix60-frontend/options.mk
	zabbix60-java/DESCR
	zabbix60-java/Makefile
	zabbix60-java/PLIST
	zabbix60-java/distinfo
	zabbix60-java/patches/patch-configure
	zabbix60-proxy/DESCR
	zabbix60-proxy/Makefile
	zabbix60-proxy/PLIST
	zabbix60-proxy/distinfo
	zabbix60-proxy/files/smf/manifest.xml
	zabbix60-proxy/files/zabbix_proxy.sh
	zabbix60-proxy/options.mk
	zabbix60-proxy/patches/patch-m4_ax__lib__mysql.m4
	zabbix60-proxy/patches/patch-m4_libssh.m4
	zabbix60-proxy/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
	zabbix60-proxy/patches/patch-src_zabbix__proxy_Makefile.am
	zabbix60-server/DESCR
	zabbix60-server/Makefile
	zabbix60-server/Makefile.common
	zabbix60-server/PLIST
	zabbix60-server/distinfo
	zabbix60-server/files/smf/manifest.xml
	zabbix60-server/files/zabbix_server.sh
	zabbix60-server/options.mk
	zabbix60-server/patches/patch-m4_ax__lib__mysql.m4
	zabbix60-server/patches/patch-m4_libssh.m4
	zabbix60-server/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
	zabbix60-server/patches/patch-src_zabbix__server_Makefile.am

Log Message:
zabbix60-*: Add new Zabbix version

Release note: https://www.zabbix.com/rn/rn6.0.0beta1

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=efa78b0667c6f0041acfc48738eb64bc9f267299

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 zabbix60-agent/DESCR                               |   10 +
 zabbix60-agent/Makefile                            |   49 +
 zabbix60-agent/PLIST                               |   11 +
 zabbix60-agent/distinfo                            |    8 +
 zabbix60-agent/files/smf/manifest.xml              |   30 +
 zabbix60-agent/files/zabbix_agentd.sh              |   27 +
 zabbix60-agent/options.mk                          |   14 +
 zabbix60-agent/patches/patch-configure             |   15 +
 .../patches/patch-src_libs_zbxsysinfo_netbsd_net.c |  199 +++
 .../patches/patch-src_zabbix__agent_Makefile.in    |   15 +
 zabbix60-frontend/DESCR                            |   10 +
 zabbix60-frontend/Makefile                         |   52 +
 zabbix60-frontend/PLIST                            | 1437 ++++++++++++++++++++
 zabbix60-frontend/distinfo                         |    5 +
 zabbix60-frontend/files/httpd-zabbix.conf          |   40 +
 zabbix60-frontend/files/php-fpm-zabbix.conf        |   25 +
 zabbix60-frontend/options.mk                       |   20 +
 zabbix60-java/DESCR                                |   10 +
 zabbix60-java/Makefile                             |   28 +
 zabbix60-java/PLIST                                |   11 +
 zabbix60-java/distinfo                             |    6 +
 zabbix60-java/patches/patch-configure              |   15 +
 zabbix60-proxy/DESCR                               |   10 +
 zabbix60-proxy/Makefile                            |   77 ++
 zabbix60-proxy/PLIST                               |   11 +
 zabbix60-proxy/distinfo                            |    9 +
 zabbix60-proxy/files/smf/manifest.xml              |   30 +
 zabbix60-proxy/files/zabbix_proxy.sh               |   27 +
 zabbix60-proxy/options.mk                          |   61 +
 zabbix60-proxy/patches/patch-m4_ax__lib__mysql.m4  |   15 +
 zabbix60-proxy/patches/patch-m4_libssh.m4          |   40 +
 .../patches/patch-src_libs_zbxsysinfo_netbsd_net.c |  199 +++
 .../patches/patch-src_zabbix__proxy_Makefile.am    |   12 +
 zabbix60-server/DESCR                              |   12 +
 zabbix60-server/Makefile                           |   88 ++
 zabbix60-server/Makefile.common                    |   28 +
 zabbix60-server/PLIST                              |  226 +++
 zabbix60-server/distinfo                           |    9 +
 zabbix60-server/files/smf/manifest.xml             |   30 +
 zabbix60-server/files/zabbix_server.sh             |   27 +
 zabbix60-server/options.mk                         |   52 +
 zabbix60-server/patches/patch-m4_ax__lib__mysql.m4 |   15 +
 zabbix60-server/patches/patch-m4_libssh.m4         |   40 +
 .../patches/patch-src_libs_zbxsysinfo_netbsd_net.c |  199 +++
 .../patches/patch-src_zabbix__server_Makefile.am   |   12 +
 45 files changed, 3266 insertions(+)

diffs:
diff --git a/zabbix60-agent/DESCR b/zabbix60-agent/DESCR
new file mode 100644
index 0000000000..43094c0148
--- /dev/null
+++ b/zabbix60-agent/DESCR
@@ -0,0 +1,10 @@
+Zabbix is the ultimate enterprise-level software designed for monitoring
+availability and performance of IT infrastructure components. Zabbix is open
+source and comes at no cost.
+
+With Zabbix it is possible to gather virtually limitless types of data from
+the network. High performance real-time monitoring means that tens of thousands
+of servers, virtual machines and network devices can be monitored
+simultaneously. Along with storing the data, visualization features are
+available (overviews, maps, graphs, screens, etc), as well as very flexible
+ways of analyzing the data for the purpose of alerting.
diff --git a/zabbix60-agent/Makefile b/zabbix60-agent/Makefile
new file mode 100644
index 0000000000..6589da4ade
--- /dev/null
+++ b/zabbix60-agent/Makefile
@@ -0,0 +1,49 @@
+# $NetBSD$
+
+.include "../../wip/zabbix60-server/Makefile.common"
+
+PKGNAME=	${DISTNAME:S/-/-agent-/}
+COMMENT=	Enterprise-class Monitoring Solution for Everyone
+
+CONFLICTS+=	zabbix-[0-9]*
+CONFLICTS+=	zabbix-agent-[0-9]*
+
+USE_TOOLS+=		pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--enable-agent
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=	--datarootdir=${PREFIX}/share/${PKGBASE}
+CONFIGURE_ARGS+=	--with-libcurl
+CONFIGURE_ARGS+=	--with-libpcre=${BUILDLINK_PREFIX.pcre}
+CONFIGURE_ARGS+=	--with-openssl=${BUILDLINK_PREFIX.openssl}
+
+EGDIR=		share/examples/${PKGBASE}
+CONF_FILES+=	${EGDIR}/zabbix_agentd.conf ${PKG_SYSCONFDIR}/zabbix_agentd.conf
+
+RCD_SCRIPTS=	zabbix_agentd
+
+INSTALLATION_DIRS+=	${EGDIR} share/${PKGBASE}
+
+SUBST_CLASSES+=			fix-paths
+SUBST_STAGE.fix-paths=		pre-configure
+SUBST_MESSAGE.fix-paths=	Fixing absolute paths.
+SUBST_FILES.fix-paths=		conf/*.conf
+SUBST_FILES.fix-paths+=		man/*.man
+SUBST_SED.fix-paths=		-e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
+
+SUBST_CLASSES+=			fix-pkgbase
+SUBST_STAGE.fix-pkgbase=	pre-configure
+SUBST_MESSAGE.fix-pkgbase=	Fixing PKGBASE.
+SUBST_FILES.fix-pkgbase=	src/zabbix_agent/Makefile.in
+SUBST_SED.fix-pkgbase=		-e 's,%%PKGBASE%%,${PKGBASE},g'
+
+PLIST_SUBST+=			PKGBASE=${PKGBASE}
+
+.include "../../mk/bsd.prefs.mk"
+
+.include "options.mk"
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/zabbix60-agent/PLIST b/zabbix60-agent/PLIST
new file mode 100644
index 0000000000..65690d36ae
--- /dev/null
+++ b/zabbix60-agent/PLIST
@@ -0,0 +1,11 @@
+@comment $NetBSD$
+bin/zabbix_get
+bin/zabbix_sender
+man/man1/zabbix_get.1
+man/man1/zabbix_sender.1
+man/man8/zabbix_agentd.8
+sbin/zabbix_agentd
+share/examples/${PKGBASE}/zabbix_agentd.conf
+@pkgdir share/${PKGBASE}
+@pkgdir lib/modules
+@pkgdir etc/zabbix_agentd.conf.d
diff --git a/zabbix60-agent/distinfo b/zabbix60-agent/distinfo
new file mode 100644
index 0000000000..5ef137735e
--- /dev/null
+++ b/zabbix60-agent/distinfo
@@ -0,0 +1,8 @@
+$NetBSD$
+
+BLAKE2s (zabbix-6.0.0beta1.tar.gz) = 2382034773a2fe5a6f07c7ae50b709f46396b535bdaacbd93939045980be0648
+SHA512 (zabbix-6.0.0beta1.tar.gz) = 400f6a800c0445fa7ce9098fddc6ce4660226a03b58c20207592c124297748833f42028bf12c2677f114754ffdc77988f9a0fc08c58967ddbf0f19f10cb50bdd
+Size (zabbix-6.0.0beta1.tar.gz) = 30606687 bytes
+SHA1 (patch-configure) = cf647b9ee52a96882d31f8783ac19b66e3e65105
+SHA1 (patch-src_libs_zbxsysinfo_netbsd_net.c) = 0371a5cafe00d01f293a847105f7c501f443616c
+SHA1 (patch-src_zabbix__agent_Makefile.in) = efbd804ecee4b99db36db5f4fd61583b2ef96a86
diff --git a/zabbix60-agent/files/smf/manifest.xml b/zabbix60-agent/files/smf/manifest.xml
new file mode 100644
index 0000000000..df8e63a875
--- /dev/null
+++ b/zabbix60-agent/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+    <dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/filesystem/local"/>
+    </dependency>
+    <dependency name="network-service" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/network/service"/>
+    </dependency>
+    <dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/system-log"/>
+    </dependency>
+    <method_context>
+        <method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
+    </method_context>
+    <instance name="@SMF_INSTANCES@" enabled="false">
+      <dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
+        <service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_agentd.conf"/>
+      </dependency>
+      <exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_agentd -c @PKG_SYSCONFDIR@/zabbix_agentd.conf" timeout_seconds="0"/>
+      <exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
+      <template>
+        <common_name>
+          <loctext xml:lang="C">Zabbix agent</loctext>
+        </common_name>
+      </template>
+    </instance>
+  </service>
+</service_bundle>
diff --git a/zabbix60-agent/files/zabbix_agentd.sh b/zabbix60-agent/files/zabbix_agentd.sh
new file mode 100644
index 0000000000..b75e300b8d
--- /dev/null
+++ b/zabbix60-agent/files/zabbix_agentd.sh
@@ -0,0 +1,27 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD$
+#
+# Zabbix agent daemon
+#
+# REQUIRE: DAEMON
+# PROVIDE: zabbix_agentd
+
+if [ -f /etc/rc.subr ]; then
+	. /etc/rc.subr
+fi
+
+name="zabbix_agentd"
+rcvar=${name}
+command="@PREFIX@/sbin/${name}"
+start_precmd="ulimit -s 10240"
+required_files="@PKG_SYSCONFDIR@/${name}.conf"
+
+if [ -f /etc/rc.subr ]; then
+	load_rc_config ${name}
+	run_rc_command "$1"
+else
+	@ECHO@ -n " ${name}"
+	[ "x$1" = "xstart" ] && ulimit -s 10240
+	${command} ${command_args}
+fi
diff --git a/zabbix60-agent/options.mk b/zabbix60-agent/options.mk
new file mode 100644
index 0000000000..b5075f87d8
--- /dev/null
+++ b/zabbix60-agent/options.mk
@@ -0,0 +1,14 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.zabbix54-agent
+PKG_SUPPORTED_OPTIONS+=		inet6
+
+.if empty(MISSING_FEATURES:Minet6)
+PKG_SUGGESTED_OPTIONS+=		inet6
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+=	--enable-ipv6
+.endif
diff --git a/zabbix60-agent/patches/patch-configure b/zabbix60-agent/patches/patch-configure
new file mode 100644
index 0000000000..8baa7c0db4
--- /dev/null
+++ b/zabbix60-agent/patches/patch-configure
@@ -0,0 +1,15 @@
+$NetBSD: patch-configure,v 1.1 2020/11/03 22:46:23 otis Exp $
+
+Fix bash-ism.
+
+--- configure.orig	2020-07-13 07:56:36.000000000 +0000
++++ configure
+@@ -8494,7 +8494,7 @@ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ 
+-            if test "$found_mysql_tls" == "yes"; then
++            if test "$found_mysql_tls" = "yes"; then
+ 
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS ciphersuites in MySQL library" >&5
+ $as_echo_n "checking for TLS ciphersuites in MySQL library... " >&6; }
diff --git a/zabbix60-agent/patches/patch-src_libs_zbxsysinfo_netbsd_net.c b/zabbix60-agent/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
new file mode 100644
index 0000000000..3ac229d762
--- /dev/null
+++ b/zabbix60-agent/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
@@ -0,0 +1,199 @@
+$NetBSD: patch-src_libs_zbxsysinfo_netbsd_net.c,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Rework interface statistics code from using kvm to using sysctl interface.
+
+--- src/libs/zbxsysinfo/netbsd/net.c.orig	2021-10-25 09:49:27.000000000 +0000
++++ src/libs/zbxsysinfo/netbsd/net.c
+@@ -22,6 +22,9 @@
+ #include "zbxjson.h"
+ #include "log.h"
+ 
++#include <net/route.h>
++#include <net/if_dl.h>
++
+ static struct nlist kernel_symbols[] =
+ {
+ 	{"_ifnet", N_UNDF, 0, 0, 0},
+@@ -31,42 +34,91 @@ static struct nlist kernel_symbols[] =
+ 
+ #define IFNET_ID 0
+ 
++static void
++get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info)
++{
++	int i;
++
++	for (i = 0; i < RTAX_MAX; i++) {
++		if (addrs & (1 << i)) {
++			rti_info[i] = sa;
++			sa = (struct sockaddr *)((char *)(sa) +
++					RT_ROUNDUP(sa->sa_len));
++		} else
++			rti_info[i] = NULL;
++	}
++}
++
+ static int	get_ifdata(const char *if_name,
+ 		zbx_uint64_t *ibytes, zbx_uint64_t *ipackets, zbx_uint64_t *ierrors, zbx_uint64_t *idropped,
+ 		zbx_uint64_t *obytes, zbx_uint64_t *opackets, zbx_uint64_t *oerrors,
+ 		zbx_uint64_t *tbytes, zbx_uint64_t *tpackets, zbx_uint64_t *terrors,
+ 		zbx_uint64_t *icollisions, char **error)
+ {
+-	struct ifnet_head	head;
+-	struct ifnet		*ifp;
+-	struct ifnet		v;
++	struct	if_msghdr *ifm;
++	int	mib[6] = { CTL_NET, AF_ROUTE, 0, 0, NET_RT_IFLIST, 0 };
++	char	*buf = NULL;
++	char	*lim, *next;
++	struct	rt_msghdr *rtm;
++	struct	if_data *ifd = NULL;
++	struct	sockaddr *sa, *rti_info[RTAX_MAX];
++	struct	sockaddr_dl *sdl;
++
++	size_t	len = 0;
++	size_t	olen = 0;
++	int		ret = SYSINFO_RET_FAIL;
+ 
+-	kvm_t	*kp;
+-	int	ret = SYSINFO_RET_FAIL;
++	static char name[IFNAMSIZ];
+ 
+ 	if (NULL == if_name || '\0' == *if_name)
+ 	{
+ 		*error = zbx_strdup(NULL, "Network interface name cannot be empty.");
+-		return FAIL;
++		ret = FAIL;
++		goto out;
+ 	}
+ 
+-	if (NULL == (kp = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL))) /* requires root privileges */
+-	{
+-		*error = zbx_strdup(NULL, "Cannot obtain a descriptor to access kernel virtual memory.");
+-		return FAIL;
+-	}
+ 
+-	if (N_UNDF == kernel_symbols[IFNET_ID].n_type)
+-		if (0 != kvm_nlist(kp, &kernel_symbols[0]))
+-			kernel_symbols[IFNET_ID].n_type = N_UNDF;
+-
+-	if (N_UNDF != kernel_symbols[IFNET_ID].n_type)
+-	{
+-		int	len = sizeof(struct ifnet_head);
++	if (sysctl(mib, 6, NULL, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to read network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
+ 
+-		if (kvm_read(kp, kernel_symbols[IFNET_ID].n_value, &head, len) >= len)
+-		{
+-			len = sizeof(struct ifnet);
++	if (len > olen) {
++		free(buf);
++		if ((buf = zbx_malloc(NULL, len)) == NULL) {
++			*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++			ret = FAIL;
++			goto out;
++		}
++		olen = len;
++	}
++	if (sysctl(mib, 6, buf, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
++
++	lim = buf + len;
++	for (next = buf; next < lim; next += rtm->rtm_msglen) {
++		rtm = (struct rt_msghdr *)next;
++		if ((rtm->rtm_version == RTM_VERSION) &&
++				(rtm->rtm_type == RTM_IFINFO)) {
++			ifm = (struct if_msghdr *)next;
++			ifd = &ifm->ifm_data;
++
++			sa = (struct sockaddr *)(ifm + 1);
++			get_rtaddrs(ifm->ifm_addrs, sa, rti_info);
++
++			sdl = (struct sockaddr_dl *)rti_info[RTAX_IFP];
++			if (sdl == NULL || sdl->sdl_family != AF_LINK) {
++				continue;
++			}
++			bzero(name, sizeof(name));
++			if (sdl->sdl_nlen >= IFNAMSIZ)
++				memcpy(name, sdl->sdl_data, IFNAMSIZ - 1);
++			else if (sdl->sdl_nlen > 0)
++				memcpy(name, sdl->sdl_data, sdl->sdl_nlen);
+ 
+ 			/* if_ibytes;		total number of octets received */
+ 			/* if_ipackets;		packets received on interface */
+@@ -100,42 +152,38 @@ static int	get_ifdata(const char *if_nam
+ 			if (icollisions)
+ 				*icollisions = 0;
+ 
+-			for (ifp = head.tqh_first; ifp; ifp = v.if_list.tqe_next)
++			if (0 == strcmp(if_name, name))
+ 			{
+-				if (kvm_read(kp, (u_long)ifp, &v, len) < len)
+-					break;
+-
+-				if (0 == strcmp(if_name, v.if_xname))
+-				{
+-					if (ibytes)
+-						*ibytes += v.if_ibytes;
+-					if (ipackets)
+-						*ipackets += v.if_ipackets;
+-					if (ierrors)
+-						*ierrors += v.if_ierrors;
+-					if (idropped)
+-						*idropped += v.if_iqdrops;
+-					if (obytes)
+-						*obytes += v.if_obytes;
+-					if (opackets)
+-						*opackets += v.if_opackets;
+-					if (oerrors)
+-						*oerrors += v.if_oerrors;
+-					if (tbytes)
+-						*tbytes += v.if_ibytes + v.if_obytes;
+-					if (tpackets)
+-						*tpackets += v.if_ipackets + v.if_opackets;
+-					if (terrors)
+-						*terrors += v.if_ierrors + v.if_oerrors;
+-					if (icollisions)
+-						*icollisions += v.if_collisions;
+-					ret = SYSINFO_RET_OK;
+-				}
++				if (ibytes)
++					*ibytes += ifd->ifi_ibytes;
++				if (ipackets)
++					*ipackets += ifd->ifi_ipackets;
++				if (ierrors)
++					*ierrors += ifd->ifi_ierrors;
++				if (idropped)
++					*idropped += ifd->ifi_iqdrops;
++				if (obytes)
++					*obytes += ifd->ifi_obytes;
++				if (opackets)
++					*opackets += ifd->ifi_opackets;
++				if (oerrors)
++					*oerrors += ifd->ifi_oerrors;
++				if (tbytes)
++					*tbytes += ifd->ifi_ibytes + ifd->ifi_obytes;
++				if (tpackets)
++					*tpackets += ifd->ifi_ipackets + ifd->ifi_opackets;
++				if (terrors)
++					*terrors += ifd->ifi_ierrors + ifd->ifi_oerrors;
++				if (icollisions)
++					*icollisions += ifd->ifi_collisions;
++				ret = SYSINFO_RET_OK;
++				goto out;
+ 			}
+ 		}
+ 	}
+ 
+-	kvm_close(kp);
++out:
++	free(buf);
+ 
+ 	if (SYSINFO_RET_FAIL == ret)
+ 	{
diff --git a/zabbix60-agent/patches/patch-src_zabbix__agent_Makefile.in b/zabbix60-agent/patches/patch-src_zabbix__agent_Makefile.in
new file mode 100644
index 0000000000..b2ba47631e
--- /dev/null
+++ b/zabbix60-agent/patches/patch-src_zabbix__agent_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_zabbix__agent_Makefile.in,v 1.1 2020/11/03 22:46:23 otis Exp $
+
+Install config file to component's example directory.
+
+--- src/zabbix_agent/Makefile.in.orig	2020-08-24 09:43:03.000000000 +0000
++++ src/zabbix_agent/Makefile.in
+@@ -1113,7 +1113,7 @@ uninstall-am: uninstall-sbinPROGRAMS
+ install-data-hook:
+ 	$(MKDIR_P) "$(DESTDIR)$(AGENT_CONFIG_FILE).d"
+ 	$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
+-	test -f "$(DESTDIR)$(AGENT_CONFIG_FILE)" || cp "../../conf/zabbix_agentd.conf" "$(DESTDIR)$(AGENT_CONFIG_FILE)"
++	$(INSTALL_DATA) "../../conf/zabbix_agentd.conf" "$(DESTDIR)/${PREFIX}/share/examples/%%PKGBASE%%"
+ 
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/zabbix60-frontend/DESCR b/zabbix60-frontend/DESCR
new file mode 100644
index 0000000000..43094c0148
--- /dev/null
+++ b/zabbix60-frontend/DESCR
@@ -0,0 +1,10 @@
+Zabbix is the ultimate enterprise-level software designed for monitoring
+availability and performance of IT infrastructure components. Zabbix is open
+source and comes at no cost.
+
+With Zabbix it is possible to gather virtually limitless types of data from
+the network. High performance real-time monitoring means that tens of thousands
+of servers, virtual machines and network devices can be monitored
+simultaneously. Along with storing the data, visualization features are
+available (overviews, maps, graphs, screens, etc), as well as very flexible
+ways of analyzing the data for the purpose of alerting.
diff --git a/zabbix60-frontend/Makefile b/zabbix60-frontend/Makefile
new file mode 100644
index 0000000000..9769f01cdf
--- /dev/null
+++ b/zabbix60-frontend/Makefile
@@ -0,0 +1,52 @@
+# $NetBSD$
+
+.include "../../wip/zabbix60-server/Makefile.common"
+
+PKGNAME=	${DISTNAME:S/-/-frontend-${ZABBIX_DB_TYPE}-/}
+COMMENT=	Zabbix PHP 7.3+ frontend
+
+CONFLICTS+=	zabbix-frontend-[0-9]*
+
+EGDIR=		share/examples/${PKGBASE}
+
+USE_TOOLS+=		pax
+NO_BUILD=		yes
+NO_CONFIGURE=		yes
+
+REPLACE_SH+=	ui/locale/*.sh
+
+.include "../../mk/bsd.prefs.mk"
+.include "options.mk"
+
+BUILD_DEFS+=		APACHE_GROUP APACHE_USER
+PKG_GROUPS_VARS+=	${APACHE_GROUP}
+PKG_USERS_VARS=		${APACHE_USER}
+
+DEPENDS+=	${PHP_PKG_PREFIX}-bcmath>=7.3.0:../../math/php-bcmath
+DEPENDS+=	${PHP_PKG_PREFIX}-gd>=7.3.0:../../graphics/php-gd
+DEPENDS+=	${PHP_PKG_PREFIX}-gettext>=7.3.0:../../devel/php-gettext
+DEPENDS+=	${PHP_PKG_PREFIX}-json>=7.3.0:../../textproc/php-json
+DEPENDS+=	${PHP_PKG_PREFIX}-ldap>=7.3.0:../../databases/php-ldap
+DEPENDS+=	${PHP_PKG_PREFIX}-mbstring>=7.3.0:../../converters/php-mbstring
+.if ${ZABBIX_DB_TYPE} == "mysql"
+DEPENDS+=	${PHP_PKG_PREFIX}-mysqli>=7.3.0:../../databases/php-mysqli
+.endif
+.if ${ZABBIX_DB_TYPE} == "pgsql"
+DEPENDS+=	${PHP_PKG_PREFIX}-pgsql>=7.3.0:../../databases/php-pgsql
+.endif
+DEPENDS+=	${PHP_PKG_PREFIX}-sockets>=7.3.0:../../net/php-sockets
+DEPENDS+=	${PHP_PKG_PREFIX}-sysvsem>=7.3.0:../../devel/php-sysvsem
+
+INSTALLATION_DIRS+=	${EGDIR} share/zabbix
+
+post-patch: replace-interpreter
+
+do-install:
+	rm -f ${WRKSRC}/ui/locale/*.orig
+	cd ${WRKSRC}/ui; ${PAX} -rw . ${DESTDIR}${PREFIX}/share/zabbix/
+	${INSTALL_DATA} ${FILESDIR}/httpd-zabbix.conf ${DESTDIR}${PREFIX}/${EGDIR}
+	${INSTALL_DATA} ${FILESDIR}/php-fpm-zabbix.conf ${DESTDIR}${PREFIX}/${EGDIR}
+
+.include "../../lang/php/phpversion.mk"
+.include "../../mk/configure/replace-interpreter.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/zabbix60-frontend/PLIST b/zabbix60-frontend/PLIST
new file mode 100644
index 0000000000..d525dddec5
--- /dev/null
+++ b/zabbix60-frontend/PLIST
@@ -0,0 +1,1437 @@
+@comment $NetBSD$
+share/examples/zabbix-frontend-postgresql/httpd-zabbix.conf
+share/examples/zabbix-frontend-postgresql/php-fpm-zabbix.conf
+share/zabbix/actionconf.php
+share/zabbix/api_jsonrpc.php
+share/zabbix/app/.htaccess
+share/zabbix/app/controllers/CControllerActionOperationGet.php
+share/zabbix/app/controllers/CControllerActionOperationValidate.php
+share/zabbix/app/controllers/CControllerAuditLogList.php
+share/zabbix/app/controllers/CControllerAuditSettingsEdit.php
+share/zabbix/app/controllers/CControllerAuditSettingsUpdate.php
+share/zabbix/app/controllers/CControllerAuthenticationEdit.php
+share/zabbix/app/controllers/CControllerAuthenticationUpdate.php
+share/zabbix/app/controllers/CControllerAutoregEdit.php
+share/zabbix/app/controllers/CControllerAutoregUpdate.php
+share/zabbix/app/controllers/CControllerCharts.php
+share/zabbix/app/controllers/CControllerChartsView.php
+share/zabbix/app/controllers/CControllerChartsViewJson.php
+share/zabbix/app/controllers/CControllerCorrelationConditionAdd.php
+share/zabbix/app/controllers/CControllerCorrelationCreate.php
+share/zabbix/app/controllers/CControllerCorrelationDelete.php
+share/zabbix/app/controllers/CControllerCorrelationDisable.php
+share/zabbix/app/controllers/CControllerCorrelationEdit.php
+share/zabbix/app/controllers/CControllerCorrelationEnable.php
+share/zabbix/app/controllers/CControllerCorrelationList.php
+share/zabbix/app/controllers/CControllerCorrelationUpdate.php
+share/zabbix/app/controllers/CControllerDashboardDelete.php
+share/zabbix/app/controllers/CControllerDashboardList.php
+share/zabbix/app/controllers/CControllerDashboardPagePropertiesCheck.php
+share/zabbix/app/controllers/CControllerDashboardPagePropertiesEdit.php
+share/zabbix/app/controllers/CControllerDashboardPrint.php
+share/zabbix/app/controllers/CControllerDashboardPropertiesCheck.php
+share/zabbix/app/controllers/CControllerDashboardPropertiesEdit.php
+share/zabbix/app/controllers/CControllerDashboardShareUpdate.php
+share/zabbix/app/controllers/CControllerDashboardUpdate.php
+share/zabbix/app/controllers/CControllerDashboardView.php
+share/zabbix/app/controllers/CControllerDashboardWidgetCheck.php
+share/zabbix/app/controllers/CControllerDashboardWidgetConfigure.php
+share/zabbix/app/controllers/CControllerDashboardWidgetEdit.php
+share/zabbix/app/controllers/CControllerDashboardWidgetRfRate.php
+share/zabbix/app/controllers/CControllerDashboardWidgetsSanitize.php
+share/zabbix/app/controllers/CControllerDiscoveryCreate.php
+share/zabbix/app/controllers/CControllerDiscoveryDelete.php
+share/zabbix/app/controllers/CControllerDiscoveryDisable.php
+share/zabbix/app/controllers/CControllerDiscoveryEdit.php
+share/zabbix/app/controllers/CControllerDiscoveryEnable.php
+share/zabbix/app/controllers/CControllerDiscoveryList.php
+share/zabbix/app/controllers/CControllerDiscoveryUpdate.php
+share/zabbix/app/controllers/CControllerDiscoveryView.php
+share/zabbix/app/controllers/CControllerExport.php
+share/zabbix/app/controllers/CControllerFavouriteCreate.php
+share/zabbix/app/controllers/CControllerFavouriteDelete.php
+share/zabbix/app/controllers/CControllerGeomapsEdit.php
+share/zabbix/app/controllers/CControllerGeomapsUpdate.php
+share/zabbix/app/controllers/CControllerGuiEdit.php
+share/zabbix/app/controllers/CControllerGuiUpdate.php
+share/zabbix/app/controllers/CControllerHintboxActionlist.php
+share/zabbix/app/controllers/CControllerHintboxEventlist.php
+share/zabbix/app/controllers/CControllerHost.php
+share/zabbix/app/controllers/CControllerHostCreate.php
+share/zabbix/app/controllers/CControllerHostDashboardView.php
+share/zabbix/app/controllers/CControllerHostEdit.php
+share/zabbix/app/controllers/CControllerHostList.php
+share/zabbix/app/controllers/CControllerHostMacrosList.php
+share/zabbix/app/controllers/CControllerHostMassDelete.php
+share/zabbix/app/controllers/CControllerHostUpdate.php
+share/zabbix/app/controllers/CControllerHostUpdateGeneral.php
+share/zabbix/app/controllers/CControllerHostView.php
+share/zabbix/app/controllers/CControllerHostViewRefresh.php
+share/zabbix/app/controllers/CControllerHousekeepingEdit.php
+share/zabbix/app/controllers/CControllerHousekeepingUpdate.php
+share/zabbix/app/controllers/CControllerIconMapCreate.php
+share/zabbix/app/controllers/CControllerIconMapDelete.php
+share/zabbix/app/controllers/CControllerIconMapEdit.php
+share/zabbix/app/controllers/CControllerIconMapList.php
+share/zabbix/app/controllers/CControllerIconMapUpdate.php
+share/zabbix/app/controllers/CControllerImageCreate.php
+share/zabbix/app/controllers/CControllerImageDelete.php
+share/zabbix/app/controllers/CControllerImageEdit.php
+share/zabbix/app/controllers/CControllerImageList.php
+share/zabbix/app/controllers/CControllerImageUpdate.php
+share/zabbix/app/controllers/CControllerLatest.php
+share/zabbix/app/controllers/CControllerLatestView.php
+share/zabbix/app/controllers/CControllerLatestViewRefresh.php
+share/zabbix/app/controllers/CControllerMacrosEdit.php
+share/zabbix/app/controllers/CControllerMacrosUpdate.php
+share/zabbix/app/controllers/CControllerMapView.php
+share/zabbix/app/controllers/CControllerMediatypeCreate.php
+share/zabbix/app/controllers/CControllerMediatypeDelete.php
+share/zabbix/app/controllers/CControllerMediatypeDisable.php
+share/zabbix/app/controllers/CControllerMediatypeEdit.php
+share/zabbix/app/controllers/CControllerMediatypeEnable.php
+share/zabbix/app/controllers/CControllerMediatypeList.php
+share/zabbix/app/controllers/CControllerMediatypeUpdate.php
+share/zabbix/app/controllers/CControllerMenuPopup.php
+share/zabbix/app/controllers/CControllerMiscConfigEdit.php
+share/zabbix/app/controllers/CControllerMiscConfigUpdate.php
+share/zabbix/app/controllers/CControllerModuleEdit.php
+share/zabbix/app/controllers/CControllerModuleList.php
+share/zabbix/app/controllers/CControllerModuleScan.php
+share/zabbix/app/controllers/CControllerModuleUpdate.php
+share/zabbix/app/controllers/CControllerNotificationsGet.php
+share/zabbix/app/controllers/CControllerNotificationsMute.php
+share/zabbix/app/controllers/CControllerNotificationsRead.php
+share/zabbix/app/controllers/CControllerPopup.php
+share/zabbix/app/controllers/CControllerPopupAcknowledgeCreate.php
+share/zabbix/app/controllers/CControllerPopupAcknowledgeEdit.php
+share/zabbix/app/controllers/CControllerPopupConditionActions.php
+share/zabbix/app/controllers/CControllerPopupConditionCommon.php
+share/zabbix/app/controllers/CControllerPopupConditionEventCorr.php
+share/zabbix/app/controllers/CControllerPopupConditionOperations.php
+share/zabbix/app/controllers/CControllerPopupDashboardShareEdit.php
+share/zabbix/app/controllers/CControllerPopupDiscoveryCheck.php
+share/zabbix/app/controllers/CControllerPopupGeneric.php
+share/zabbix/app/controllers/CControllerPopupHttpStep.php
+share/zabbix/app/controllers/CControllerPopupImport.php
+share/zabbix/app/controllers/CControllerPopupImportCompare.php
+share/zabbix/app/controllers/CControllerPopupItemTest.php
+share/zabbix/app/controllers/CControllerPopupItemTestEdit.php
+share/zabbix/app/controllers/CControllerPopupItemTestGetValue.php
+share/zabbix/app/controllers/CControllerPopupItemTestSend.php
+share/zabbix/app/controllers/CControllerPopupLldOperation.php
+share/zabbix/app/controllers/CControllerPopupLldOverride.php
+share/zabbix/app/controllers/CControllerPopupMaintenancePeriod.php
+share/zabbix/app/controllers/CControllerPopupMassupdateAbstract.php
+share/zabbix/app/controllers/CControllerPopupMassupdateHost.php
+share/zabbix/app/controllers/CControllerPopupMassupdateItem.php
+share/zabbix/app/controllers/CControllerPopupMassupdateService.php
+share/zabbix/app/controllers/CControllerPopupMassupdateTemplate.php
+share/zabbix/app/controllers/CControllerPopupMassupdateTrigger.php
+share/zabbix/app/controllers/CControllerPopupMedia.php
+share/zabbix/app/controllers/CControllerPopupMediatypeMessage.php
+share/zabbix/app/controllers/CControllerPopupMediatypeTestEdit.php
+share/zabbix/app/controllers/CControllerPopupMediatypeTestSend.php
+share/zabbix/app/controllers/CControllerPopupScheduledReportCreate.php
+share/zabbix/app/controllers/CControllerPopupScheduledReportEdit.php
+share/zabbix/app/controllers/CControllerPopupScheduledReportList.php
+share/zabbix/app/controllers/CControllerPopupScheduledReportSubscriptionEdit.php
+share/zabbix/app/controllers/CControllerPopupScheduledReportTest.php
+share/zabbix/app/controllers/CControllerPopupScriptExec.php
+share/zabbix/app/controllers/CControllerPopupServiceEdit.php
+share/zabbix/app/controllers/CControllerPopupServiceStatusRuleEdit.php
+share/zabbix/app/controllers/CControllerPopupServiceTimeEdit.php
+share/zabbix/app/controllers/CControllerPopupServices.php
+share/zabbix/app/controllers/CControllerPopupTabFilterDelete.php
+share/zabbix/app/controllers/CControllerPopupTabFilterEdit.php
+share/zabbix/app/controllers/CControllerPopupTabFilterUpdate.php
+share/zabbix/app/controllers/CControllerPopupTestTriggerExpr.php
+share/zabbix/app/controllers/CControllerPopupTriggerExpr.php
+share/zabbix/app/controllers/CControllerPopupTriggerWizard.php
+share/zabbix/app/controllers/CControllerPopupValueMapEdit.php
+share/zabbix/app/controllers/CControllerPopupValueMapUpdate.php
+share/zabbix/app/controllers/CControllerProblem.php
+share/zabbix/app/controllers/CControllerProblemView.php
+share/zabbix/app/controllers/CControllerProblemViewRefresh.php
+share/zabbix/app/controllers/CControllerProfileUpdate.php
+share/zabbix/app/controllers/CControllerProxyCreate.php
+share/zabbix/app/controllers/CControllerProxyDelete.php
+share/zabbix/app/controllers/CControllerProxyEdit.php
+share/zabbix/app/controllers/CControllerProxyHostDisable.php
+share/zabbix/app/controllers/CControllerProxyHostEnable.php
+share/zabbix/app/controllers/CControllerProxyList.php
+share/zabbix/app/controllers/CControllerProxyUpdate.php
+share/zabbix/app/controllers/CControllerQueueDetails.php
+share/zabbix/app/controllers/CControllerQueueOverview.php
+share/zabbix/app/controllers/CControllerQueueOverviewProxy.php
+share/zabbix/app/controllers/CControllerRegExCreate.php
+share/zabbix/app/controllers/CControllerRegExDelete.php
+share/zabbix/app/controllers/CControllerRegExEdit.php
+share/zabbix/app/controllers/CControllerRegExList.php
+share/zabbix/app/controllers/CControllerRegExTest.php
+share/zabbix/app/controllers/CControllerRegExUpdate.php
+share/zabbix/app/controllers/CControllerReportStatus.php
+share/zabbix/app/controllers/CControllerScheduledReportCreate.php
+share/zabbix/app/controllers/CControllerScheduledReportDelete.php
+share/zabbix/app/controllers/CControllerScheduledReportDisable.php
+share/zabbix/app/controllers/CControllerScheduledReportEdit.php
+share/zabbix/app/controllers/CControllerScheduledReportEnable.php
+share/zabbix/app/controllers/CControllerScheduledReportList.php
+share/zabbix/app/controllers/CControllerScheduledReportUpdate.php
+share/zabbix/app/controllers/CControllerScriptCreate.php
+share/zabbix/app/controllers/CControllerScriptDelete.php
+share/zabbix/app/controllers/CControllerScriptEdit.php
+share/zabbix/app/controllers/CControllerScriptList.php
+share/zabbix/app/controllers/CControllerScriptUpdate.php
+share/zabbix/app/controllers/CControllerSearch.php
+share/zabbix/app/controllers/CControllerServiceCreate.php
+share/zabbix/app/controllers/CControllerServiceDelete.php
+share/zabbix/app/controllers/CControllerServiceList.php
+share/zabbix/app/controllers/CControllerServiceListEdit.php
+share/zabbix/app/controllers/CControllerServiceListEditRefresh.php
+share/zabbix/app/controllers/CControllerServiceListGeneral.php
+share/zabbix/app/controllers/CControllerServiceListRefresh.php
+share/zabbix/app/controllers/CControllerServiceStatusRuleValidate.php
+share/zabbix/app/controllers/CControllerServiceTimeValidate.php
+share/zabbix/app/controllers/CControllerServiceUpdate.php
+share/zabbix/app/controllers/CControllerSystemWarning.php
+share/zabbix/app/controllers/CControllerTabFilterProfileUpdate.php
+share/zabbix/app/controllers/CControllerTemplateDashboardDelete.php
+share/zabbix/app/controllers/CControllerTemplateDashboardEdit.php
+share/zabbix/app/controllers/CControllerTemplateDashboardList.php
+share/zabbix/app/controllers/CControllerTemplateDashboardUpdate.php
+share/zabbix/app/controllers/CControllerTimeSelectorUpdate.php
+share/zabbix/app/controllers/CControllerTokenCreate.php
+share/zabbix/app/controllers/CControllerTokenDelete.php
+share/zabbix/app/controllers/CControllerTokenDisable.php
+share/zabbix/app/controllers/CControllerTokenEdit.php
+share/zabbix/app/controllers/CControllerTokenEnable.php
+share/zabbix/app/controllers/CControllerTokenList.php
+share/zabbix/app/controllers/CControllerTokenUpdate.php
+share/zabbix/app/controllers/CControllerTokenView.php
+share/zabbix/app/controllers/CControllerTrigDisplayEdit.php
+share/zabbix/app/controllers/CControllerTrigDisplayUpdate.php
+share/zabbix/app/controllers/CControllerUserCreate.php
+share/zabbix/app/controllers/CControllerUserDelete.php
+share/zabbix/app/controllers/CControllerUserEdit.php
+share/zabbix/app/controllers/CControllerUserEditGeneral.php
+share/zabbix/app/controllers/CControllerUserList.php
+share/zabbix/app/controllers/CControllerUserProfileEdit.php
+share/zabbix/app/controllers/CControllerUserProfileUpdate.php
+share/zabbix/app/controllers/CControllerUserTokenEdit.php
+share/zabbix/app/controllers/CControllerUserTokenList.php
+share/zabbix/app/controllers/CControllerUserTokenView.php
+share/zabbix/app/controllers/CControllerUserUnblock.php
+share/zabbix/app/controllers/CControllerUserUpdate.php
+share/zabbix/app/controllers/CControllerUserUpdateGeneral.php
+share/zabbix/app/controllers/CControllerUsergroupCreate.php
+share/zabbix/app/controllers/CControllerUsergroupDelete.php
+share/zabbix/app/controllers/CControllerUsergroupEdit.php
+share/zabbix/app/controllers/CControllerUsergroupGrouprightAdd.php
+share/zabbix/app/controllers/CControllerUsergroupList.php
+share/zabbix/app/controllers/CControllerUsergroupMassUpdate.php
+share/zabbix/app/controllers/CControllerUsergroupTagfilterAdd.php
+share/zabbix/app/controllers/CControllerUsergroupUpdate.php
+share/zabbix/app/controllers/CControllerUserroleCreate.php
+share/zabbix/app/controllers/CControllerUserroleDelete.php
+share/zabbix/app/controllers/CControllerUserroleEdit.php
+share/zabbix/app/controllers/CControllerUserroleEditGeneral.php
+share/zabbix/app/controllers/CControllerUserroleList.php
+share/zabbix/app/controllers/CControllerUserroleUpdate.php
+share/zabbix/app/controllers/CControllerWebView.php
+share/zabbix/app/controllers/CControllerWidget.php
+share/zabbix/app/controllers/CControllerWidgetActionLogView.php
+share/zabbix/app/controllers/CControllerWidgetClockView.php
+share/zabbix/app/controllers/CControllerWidgetDataOverView.php
+share/zabbix/app/controllers/CControllerWidgetDiscoveryView.php
+share/zabbix/app/controllers/CControllerWidgetFavGraphsView.php
+share/zabbix/app/controllers/CControllerWidgetFavMapsView.php
+share/zabbix/app/controllers/CControllerWidgetGeoMapView.php
+share/zabbix/app/controllers/CControllerWidgetGraphView.php
+share/zabbix/app/controllers/CControllerWidgetHostAvailView.php
+share/zabbix/app/controllers/CControllerWidgetItemView.php
+share/zabbix/app/controllers/CControllerWidgetIterator.php
+share/zabbix/app/controllers/CControllerWidgetIteratorGraphPrototypeView.php
+share/zabbix/app/controllers/CControllerWidgetMapView.php
+share/zabbix/app/controllers/CControllerWidgetNavTreeItemEdit.php
+share/zabbix/app/controllers/CControllerWidgetNavTreeItemUpdate.php
+share/zabbix/app/controllers/CControllerWidgetNavTreeView.php
+share/zabbix/app/controllers/CControllerWidgetPlainTextView.php
+share/zabbix/app/controllers/CControllerWidgetProblemHostsView.php
+share/zabbix/app/controllers/CControllerWidgetProblemsBySvView.php
+share/zabbix/app/controllers/CControllerWidgetProblemsView.php
+share/zabbix/app/controllers/CControllerWidgetSvgGraphView.php
+share/zabbix/app/controllers/CControllerWidgetSystemInfoView.php
+share/zabbix/app/controllers/CControllerWidgetTrigOverView.php
+share/zabbix/app/controllers/CControllerWidgetUrlView.php
+share/zabbix/app/controllers/CControllerWidgetWebView.php
+share/zabbix/app/partials/administration.ha.nodes.php
+share/zabbix/app/partials/administration.system.info.php
+share/zabbix/app/partials/administration.usergroup.grouprights.html.php
+share/zabbix/app/partials/administration.usergroup.tagfilters.html.php
+share/zabbix/app/partials/configuration.filter.items.php
+share/zabbix/app/partials/configuration.host.edit.html.php
+share/zabbix/app/partials/configuration.host.interface.row.php
+share/zabbix/app/partials/configuration.tags.tab.php
+share/zabbix/app/partials/configuration.valuemap.php
+share/zabbix/app/partials/dataoverview.table.left.php
+share/zabbix/app/partials/dataoverview.table.top.php
+share/zabbix/app/partials/hostmacros.inherited.list.html.php
+share/zabbix/app/partials/hostmacros.list.html.php
+share/zabbix/app/partials/js/configuration.host.edit.html.js.php
+share/zabbix/app/partials/js/configuration.tags.tab.js.php
+share/zabbix/app/partials/js/configuration.valuemap.js.php
+share/zabbix/app/partials/js/scheduledreport.formgrid.js.php
+share/zabbix/app/partials/js/scheduledreport.subscription.js.php
+share/zabbix/app/partials/layout.htmlpage.aside.php
+share/zabbix/app/partials/layout.htmlpage.footer.php
+share/zabbix/app/partials/layout.htmlpage.header.php
+share/zabbix/app/partials/massupdate.macros.tab.php
+share/zabbix/app/partials/massupdate.valuemaps.tab.php
+share/zabbix/app/partials/monitoring.host.filter.php
+share/zabbix/app/partials/monitoring.host.view.html.php
+share/zabbix/app/partials/monitoring.latest.view.html.php
+share/zabbix/app/partials/monitoring.problem.filter.php
+share/zabbix/app/partials/monitoring.service.list.edit.php
+share/zabbix/app/partials/monitoring.service.list.php
+share/zabbix/app/partials/popup.operations.php
+share/zabbix/app/partials/scheduledreport.formgrid.html.php
+share/zabbix/app/partials/scheduledreport.subscription.php
+share/zabbix/app/partials/scheduledreport.table.html.php
+share/zabbix/app/partials/service.info.php
+share/zabbix/app/partials/timeselector.filter.php
+share/zabbix/app/partials/trigoverview.table.left.php
+share/zabbix/app/partials/trigoverview.table.top.php
+share/zabbix/app/views/administration.audit.settings.edit.php
+share/zabbix/app/views/administration.authentication.edit.php
+share/zabbix/app/views/administration.autoreg.edit.php
+share/zabbix/app/views/administration.geomaps.edit.php
+share/zabbix/app/views/administration.gui.edit.php
+share/zabbix/app/views/administration.housekeeping.edit.php
+share/zabbix/app/views/administration.iconmap.edit.php
+share/zabbix/app/views/administration.iconmap.list.php
+share/zabbix/app/views/administration.image.edit.php
+share/zabbix/app/views/administration.image.list.php
+share/zabbix/app/views/administration.macros.edit.php
+share/zabbix/app/views/administration.mediatype.edit.php
+share/zabbix/app/views/administration.mediatype.list.php
+share/zabbix/app/views/administration.miscconfig.edit.php
+share/zabbix/app/views/administration.module.edit.php
+share/zabbix/app/views/administration.module.list.php
+share/zabbix/app/views/administration.proxy.edit.php
+share/zabbix/app/views/administration.proxy.list.php
+share/zabbix/app/views/administration.queue.details.php
+share/zabbix/app/views/administration.queue.overview.php
+share/zabbix/app/views/administration.queue.overview.proxy.php
+share/zabbix/app/views/administration.regex.edit.php
+share/zabbix/app/views/administration.regex.list.php
+share/zabbix/app/views/administration.script.edit.php
+share/zabbix/app/views/administration.script.list.php
+share/zabbix/app/views/administration.token.edit.php
+share/zabbix/app/views/administration.token.list.php
+share/zabbix/app/views/administration.token.view.php
+share/zabbix/app/views/administration.trigdisplay.edit.php
+share/zabbix/app/views/administration.user.edit.php
+share/zabbix/app/views/administration.user.list.php
+share/zabbix/app/views/administration.user.token.edit.php
+share/zabbix/app/views/administration.user.token.list.php
+share/zabbix/app/views/administration.user.token.view.php
+share/zabbix/app/views/administration.usergroup.edit.php
+share/zabbix/app/views/administration.usergroup.grouprights.php
+share/zabbix/app/views/administration.usergroup.list.php
+share/zabbix/app/views/administration.usergroup.tagfilters.php
+share/zabbix/app/views/administration.userrole.edit.php
+share/zabbix/app/views/administration.userrole.list.php
+share/zabbix/app/views/configuration.correlation.edit.php
+share/zabbix/app/views/configuration.correlation.list.php
+share/zabbix/app/views/configuration.dashboard.edit.php
+share/zabbix/app/views/configuration.dashboard.list.php
+share/zabbix/app/views/configuration.discovery.edit.php
+share/zabbix/app/views/configuration.discovery.list.php
+share/zabbix/app/views/configuration.host.edit.php
+share/zabbix/app/views/configuration.host.list.php
+share/zabbix/app/views/dashboard.page.properties.edit.php
+share/zabbix/app/views/dashboard.properties.edit.php
+share/zabbix/app/views/hintbox.actionlist.php
+share/zabbix/app/views/hintbox.eventlist.php
+share/zabbix/app/views/hostmacros.list.php
+share/zabbix/app/views/js/administration.audit.settings.edit.js.php
+share/zabbix/app/views/js/administration.authentication.edit.js.php
+share/zabbix/app/views/js/administration.autoreg.edit.js.php
+share/zabbix/app/views/js/administration.geomaps.edit.js.php
+share/zabbix/app/views/js/administration.gui.edit.js.php
+share/zabbix/app/views/js/administration.housekeeping.edit.js.php
+share/zabbix/app/views/js/administration.iconmap.edit.js.php
+share/zabbix/app/views/js/administration.image.edit.js.php
+share/zabbix/app/views/js/administration.image.list.js.php
+share/zabbix/app/views/js/administration.macros.edit.js.php
+share/zabbix/app/views/js/administration.mediatype.edit.js.php
+share/zabbix/app/views/js/administration.miscconfig.edit.js.php
+share/zabbix/app/views/js/administration.proxy.edit.js.php
+share/zabbix/app/views/js/administration.proxy.list.js.php
+share/zabbix/app/views/js/administration.regex.edit.js.php
+share/zabbix/app/views/js/administration.script.edit.js.php
+share/zabbix/app/views/js/administration.token.edit.js.php
+share/zabbix/app/views/js/administration.token.list.js.php
+share/zabbix/app/views/js/administration.trigdisplay.edit.js.php
+share/zabbix/app/views/js/administration.user.edit.common.js.php
+share/zabbix/app/views/js/administration.user.edit.js.php
+share/zabbix/app/views/js/administration.user.list.js.php
+share/zabbix/app/views/js/administration.user.token.edit.js.php
+share/zabbix/app/views/js/administration.user.token.list.js.php
+share/zabbix/app/views/js/administration.usergroup.edit.js.php
+share/zabbix/app/views/js/administration.userprofile.edit.js.php
+share/zabbix/app/views/js/administration.userrole.edit.js.php
+share/zabbix/app/views/js/configuration.correlation.edit.js.php
+share/zabbix/app/views/js/configuration.dashboard.edit.js.php
+share/zabbix/app/views/js/configuration.discovery.edit.js.php
+share/zabbix/app/views/js/configuration.host.edit.js.php
+share/zabbix/app/views/js/configuration.host.list.js.php
+share/zabbix/app/views/js/monitoring.charts.view.js.php
+share/zabbix/app/views/js/monitoring.dashboard.print.js.php
+share/zabbix/app/views/js/monitoring.dashboard.view.js.php
+share/zabbix/app/views/js/monitoring.host.dashboard.view.js.php
+share/zabbix/app/views/js/monitoring.host.view.js.php
+share/zabbix/app/views/js/monitoring.latest.view.js.php
+share/zabbix/app/views/js/monitoring.map.view.js.php
+share/zabbix/app/views/js/monitoring.problem.view.js.php
+share/zabbix/app/views/js/monitoring.service.list.js.php
+share/zabbix/app/views/js/monitoring.web.view.js.php
+share/zabbix/app/views/js/popup.acknowledge.edit.js.php
+share/zabbix/app/views/js/popup.dashboard.share.edit.js.php
+share/zabbix/app/views/js/popup.discovery.check.js.php
+share/zabbix/app/views/js/popup.generic.js.php
+share/zabbix/app/views/js/popup.host.edit.js.php
+share/zabbix/app/views/js/popup.import.compare.js.php
+share/zabbix/app/views/js/popup.import.js.php
+share/zabbix/app/views/js/popup.itemtestedit.view.js.php
+share/zabbix/app/views/js/popup.maintenance.period.js.php
+share/zabbix/app/views/js/popup.massupdate.item.js.php
+share/zabbix/app/views/js/popup.massupdate.js.php
+share/zabbix/app/views/js/popup.massupdate.macros.js.php
+share/zabbix/app/views/js/popup.massupdate.tmpl.js.php
+share/zabbix/app/views/js/popup.massupdate.trigger.js.php
+share/zabbix/app/views/js/popup.media.js.php
+share/zabbix/app/views/js/popup.mediatype.message.js.php
+share/zabbix/app/views/js/popup.mediatypetest.edit.js.php
+share/zabbix/app/views/js/popup.scheduledreport.edit.js.php
+share/zabbix/app/views/js/popup.scheduledreport.subscription.js.php
+share/zabbix/app/views/js/popup.scriptexec.js.php
+share/zabbix/app/views/js/popup.service.edit.js.php
+share/zabbix/app/views/js/popup.service.statusrule.edit.js.php
+share/zabbix/app/views/js/popup.service.time.edit.js.php
+share/zabbix/app/views/js/popup.services.js.php
+share/zabbix/app/views/js/popup.tabfilter.edit.js.php
+share/zabbix/app/views/js/popup.triggerexpr.js.php
+share/zabbix/app/views/js/popup.triggerwizard.js.php
+share/zabbix/app/views/js/popup.valuemap.edit.js.php
+share/zabbix/app/views/js/reports.auditlog.list.js.php
+share/zabbix/app/views/js/reports.scheduledreport.edit.js.php
+share/zabbix/app/views/js/search.js.php
+share/zabbix/app/views/layout.csv.php
+share/zabbix/app/views/layout.export.php
+share/zabbix/app/views/layout.htmlpage.php
+share/zabbix/app/views/layout.javascript.php
+share/zabbix/app/views/layout.json.php
+share/zabbix/app/views/layout.warning.php
+share/zabbix/app/views/layout.widget.php
+share/zabbix/app/views/monitoring.charts.view.json.php
+share/zabbix/app/views/monitoring.charts.view.php
+share/zabbix/app/views/monitoring.dashboard.list.php
+share/zabbix/app/views/monitoring.dashboard.print.php
+share/zabbix/app/views/monitoring.dashboard.view.php
+share/zabbix/app/views/monitoring.dashboard.widget.edit.php
+share/zabbix/app/views/monitoring.discovery.view.php
+share/zabbix/app/views/monitoring.host.dashboard.view.php
+share/zabbix/app/views/monitoring.host.view.php
+share/zabbix/app/views/monitoring.host.view.refresh.php
+share/zabbix/app/views/monitoring.latest.view.php
+share/zabbix/app/views/monitoring.latest.view.refresh.php
+share/zabbix/app/views/monitoring.map.view.php
+share/zabbix/app/views/monitoring.problem.view.php
+share/zabbix/app/views/monitoring.service.list.edit.php
+share/zabbix/app/views/monitoring.service.list.edit.refresh.php
+share/zabbix/app/views/monitoring.service.list.php
+share/zabbix/app/views/monitoring.service.list.refresh.php
+share/zabbix/app/views/monitoring.web.view.php
+share/zabbix/app/views/monitoring.widget.actionlog.view.php
+share/zabbix/app/views/monitoring.widget.clock.view.php
+share/zabbix/app/views/monitoring.widget.dataover.view.php
+share/zabbix/app/views/monitoring.widget.discovery.view.php
+share/zabbix/app/views/monitoring.widget.favgraphs.view.php
+share/zabbix/app/views/monitoring.widget.favmaps.view.php
+share/zabbix/app/views/monitoring.widget.geomap.view.php
+share/zabbix/app/views/monitoring.widget.graph.view.php
+share/zabbix/app/views/monitoring.widget.hostavail.view.php
+share/zabbix/app/views/monitoring.widget.item.view.php
+share/zabbix/app/views/monitoring.widget.map.view.php
+share/zabbix/app/views/monitoring.widget.navtree.view.php
+share/zabbix/app/views/monitoring.widget.navtreeitem.edit.php
+share/zabbix/app/views/monitoring.widget.plaintext.view.php
+share/zabbix/app/views/monitoring.widget.problemhosts.view.php
+share/zabbix/app/views/monitoring.widget.problems.view.php
+share/zabbix/app/views/monitoring.widget.problemsbysv.view.php
+share/zabbix/app/views/monitoring.widget.svggraph.view.php
+share/zabbix/app/views/monitoring.widget.systeminfo.view.php
+share/zabbix/app/views/monitoring.widget.trigover.view.php
+share/zabbix/app/views/monitoring.widget.url.view.php
+share/zabbix/app/views/monitoring.widget.web.view.php
+share/zabbix/app/views/popup.acknowledge.edit.php
+share/zabbix/app/views/popup.condition.common.php
+share/zabbix/app/views/popup.dashboard.share.edit.php
+share/zabbix/app/views/popup.discovery.check.php
+share/zabbix/app/views/popup.generic.php
+share/zabbix/app/views/popup.host.edit.php
+share/zabbix/app/views/popup.httpstep.php
+share/zabbix/app/views/popup.import.compare.php
+share/zabbix/app/views/popup.import.php
+share/zabbix/app/views/popup.itemtestedit.view.php
+share/zabbix/app/views/popup.lldoperation.php
+share/zabbix/app/views/popup.lldoverride.php
+share/zabbix/app/views/popup.maintenance.period.php
+share/zabbix/app/views/popup.massupdate.host.php
+share/zabbix/app/views/popup.massupdate.item.php
+share/zabbix/app/views/popup.massupdate.service.php
+share/zabbix/app/views/popup.massupdate.template.php
+share/zabbix/app/views/popup.massupdate.trigger.php
+share/zabbix/app/views/popup.media.php
+share/zabbix/app/views/popup.mediatype.message.php
+share/zabbix/app/views/popup.mediatypetest.edit.php
+share/zabbix/app/views/popup.scheduledreport.edit.php
+share/zabbix/app/views/popup.scheduledreport.list.php
+share/zabbix/app/views/popup.scheduledreport.subscription.php
+share/zabbix/app/views/popup.scheduledreport.test.php
+share/zabbix/app/views/popup.scriptexec.php
+share/zabbix/app/views/popup.service.edit.php
+share/zabbix/app/views/popup.service.statusrule.edit.php
+share/zabbix/app/views/popup.service.time.edit.php
+share/zabbix/app/views/popup.services.php
+share/zabbix/app/views/popup.tabfilter.edit.php
+share/zabbix/app/views/popup.testtriggerexpr.php
+share/zabbix/app/views/popup.triggerexpr.php
+share/zabbix/app/views/popup.triggerwizard.php
+share/zabbix/app/views/popup.valuemap.edit.php
+share/zabbix/app/views/popup.view.php
+share/zabbix/app/views/report.status.php
+share/zabbix/app/views/reports.auditlog.list.php
+share/zabbix/app/views/reports.scheduledreport.edit.php
+share/zabbix/app/views/reports.scheduledreport.list.php
+share/zabbix/app/views/search.php
+share/zabbix/app/views/system.warning.php
+share/zabbix/assets/fonts/DejaVuSans.ttf
+share/zabbix/assets/img/apple-touch-icon-120x120-precomposed.png
+share/zabbix/assets/img/apple-touch-icon-152x152-precomposed.png
+share/zabbix/assets/img/apple-touch-icon-180x180-precomposed.png
+share/zabbix/assets/img/apple-touch-icon-76x76-precomposed.png
+share/zabbix/assets/img/browser-sprite.png
+share/zabbix/assets/img/icon-sprite.svg
+share/zabbix/assets/img/ms-tile-144x144.png
+share/zabbix/assets/img/touch-icon-192x192.png
+share/zabbix/assets/styles/blue-theme.css
+share/zabbix/assets/styles/dark-theme.css
+share/zabbix/assets/styles/hc-dark.css
+share/zabbix/assets/styles/hc-light.css
+share/zabbix/assets/styles/vendors/Leaflet/Leaflet/LICENSE
+share/zabbix/assets/styles/vendors/Leaflet/Leaflet/leaflet.css
+share/zabbix/audio/alarm_average.mp3
+share/zabbix/audio/alarm_disaster.mp3
+share/zabbix/audio/alarm_high.mp3
+share/zabbix/audio/alarm_information.mp3
+share/zabbix/audio/alarm_ok.mp3
+share/zabbix/audio/alarm_warning.mp3
+share/zabbix/audio/no_sound.mp3
+share/zabbix/auditacts.php
+share/zabbix/browserwarning.php
+share/zabbix/chart.php
+share/zabbix/chart2.php
+share/zabbix/chart3.php
+share/zabbix/chart4.php
+share/zabbix/chart6.php
+share/zabbix/chart7.php
+share/zabbix/composer.json
+share/zabbix/composer.lock
+share/zabbix/conf/.htaccess
+share/zabbix/conf/maintenance.inc.php
+share/zabbix/conf/zabbix.conf.php.example
+share/zabbix/data/top_passwords.txt
+share/zabbix/disc_prototypes.php
+share/zabbix/favicon.ico
+share/zabbix/graphs.php
+share/zabbix/history.php
+share/zabbix/host_discovery.php
+share/zabbix/host_prototypes.php
+share/zabbix/hostgroups.php
+share/zabbix/hostinventories.php
+share/zabbix/hostinventoriesoverview.php
+share/zabbix/httpconf.php
+share/zabbix/httpdetails.php
+share/zabbix/image.php
+share/zabbix/imgstore.php
+share/zabbix/include/.htaccess
+share/zabbix/include/actions.inc.php
+share/zabbix/include/audit.inc.php
+share/zabbix/include/blocks.inc.php
+share/zabbix/include/classes/api/API.php
+share/zabbix/include/classes/api/APIException.php
+share/zabbix/include/classes/api/CApiClientResponse.php
+share/zabbix/include/classes/api/CApiService.php
+share/zabbix/include/classes/api/CApiServiceFactory.php
+share/zabbix/include/classes/api/CAudit.php
+share/zabbix/include/classes/api/CAuditOld.php
+share/zabbix/include/classes/api/CRelationMap.php
+share/zabbix/include/classes/api/clients/CApiClient.php
+share/zabbix/include/classes/api/clients/CLocalApiClient.php
+share/zabbix/include/classes/api/helpers/CApiHostHelper.php
+share/zabbix/include/classes/api/helpers/CApiTagHelper.php
+share/zabbix/include/classes/api/managers/CDiscoveryRuleManager.php
+share/zabbix/include/classes/api/managers/CGraphManager.php
+share/zabbix/include/classes/api/managers/CGraphPrototypeManager.php
+share/zabbix/include/classes/api/managers/CHistoryManager.php
+share/zabbix/include/classes/api/managers/CHttpTestManager.php
+share/zabbix/include/classes/api/managers/CItemManager.php
+share/zabbix/include/classes/api/managers/CItemPrototypeManager.php
+share/zabbix/include/classes/api/managers/CTriggerManager.php
+share/zabbix/include/classes/api/managers/CTriggerPrototypeManager.php
+share/zabbix/include/classes/api/services/CAPIInfo.php
+share/zabbix/include/classes/api/services/CAction.php
+share/zabbix/include/classes/api/services/CAlert.php
+share/zabbix/include/classes/api/services/CAuditLog.php
+share/zabbix/include/classes/api/services/CAuthentication.php
+share/zabbix/include/classes/api/services/CAutoregistration.php
+share/zabbix/include/classes/api/services/CConfiguration.php
+share/zabbix/include/classes/api/services/CCorrelation.php
+share/zabbix/include/classes/api/services/CDCheck.php
+share/zabbix/include/classes/api/services/CDHost.php
+share/zabbix/include/classes/api/services/CDRule.php
+share/zabbix/include/classes/api/services/CDService.php
+share/zabbix/include/classes/api/services/CDashboard.php
+share/zabbix/include/classes/api/services/CDashboardGeneral.php
+share/zabbix/include/classes/api/services/CDiscoveryRule.php
+share/zabbix/include/classes/api/services/CEvent.php
+share/zabbix/include/classes/api/services/CGraph.php
+share/zabbix/include/classes/api/services/CGraphGeneral.php
+share/zabbix/include/classes/api/services/CGraphItem.php
+share/zabbix/include/classes/api/services/CGraphPrototype.php
+share/zabbix/include/classes/api/services/CHaNode.php
+share/zabbix/include/classes/api/services/CHistory.php
+share/zabbix/include/classes/api/services/CHost.php
+share/zabbix/include/classes/api/services/CHostBase.php
+share/zabbix/include/classes/api/services/CHostGeneral.php
+share/zabbix/include/classes/api/services/CHostGroup.php
+share/zabbix/include/classes/api/services/CHostInterface.php
+share/zabbix/include/classes/api/services/CHostPrototype.php
+share/zabbix/include/classes/api/services/CHousekeeping.php
+share/zabbix/include/classes/api/services/CHttpTest.php
+share/zabbix/include/classes/api/services/CIconMap.php
+share/zabbix/include/classes/api/services/CImage.php
+share/zabbix/include/classes/api/services/CItem.php
+share/zabbix/include/classes/api/services/CItemGeneral.php
+share/zabbix/include/classes/api/services/CItemPrototype.php
+share/zabbix/include/classes/api/services/CMaintenance.php
+share/zabbix/include/classes/api/services/CMap.php
+share/zabbix/include/classes/api/services/CMapElement.php
+share/zabbix/include/classes/api/services/CMediatype.php
+share/zabbix/include/classes/api/services/CModule.php
+share/zabbix/include/classes/api/services/CProblem.php
+share/zabbix/include/classes/api/services/CProxy.php
+share/zabbix/include/classes/api/services/CRegexp.php
+share/zabbix/include/classes/api/services/CReport.php
+share/zabbix/include/classes/api/services/CRole.php
+share/zabbix/include/classes/api/services/CScript.php
+share/zabbix/include/classes/api/services/CService.php
+share/zabbix/include/classes/api/services/CSettings.php
+share/zabbix/include/classes/api/services/CTask.php
+share/zabbix/include/classes/api/services/CTemplate.php
+share/zabbix/include/classes/api/services/CTemplateDashboard.php
+share/zabbix/include/classes/api/services/CToken.php
+share/zabbix/include/classes/api/services/CTrend.php
+share/zabbix/include/classes/api/services/CTrigger.php
+share/zabbix/include/classes/api/services/CTriggerGeneral.php
+share/zabbix/include/classes/api/services/CTriggerPrototype.php
+share/zabbix/include/classes/api/services/CUser.php
+share/zabbix/include/classes/api/services/CUserGroup.php
+share/zabbix/include/classes/api/services/CUserMacro.php
+share/zabbix/include/classes/api/services/CValueMap.php
+share/zabbix/include/classes/api/wrappers/CApiWrapper.php
+share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php
+share/zabbix/include/classes/core/APP.php
+share/zabbix/include/classes/core/CAjaxResponse.php
+share/zabbix/include/classes/core/CAutoloader.php
+share/zabbix/include/classes/core/CComponentRegistry.php
+share/zabbix/include/classes/core/CConfigFile.php
+share/zabbix/include/classes/core/CCookieSession.php
+share/zabbix/include/classes/core/CEncryptedCookieSession.php
+share/zabbix/include/classes/core/CHttpRequest.php
+share/zabbix/include/classes/core/CJsonRpc.php
+share/zabbix/include/classes/core/CModule.php
+share/zabbix/include/classes/core/CModuleManager.php
+share/zabbix/include/classes/core/CRegistryFactory.php
+share/zabbix/include/classes/core/ConfigFileException.php
+share/zabbix/include/classes/core/Manager.php
+share/zabbix/include/classes/core/ZBase.php
+share/zabbix/include/classes/data/CHistFunctionData.php
+share/zabbix/include/classes/data/CItemData.php
+share/zabbix/include/classes/data/CMathFunctionData.php
+share/zabbix/include/classes/db/DB.php
+share/zabbix/include/classes/db/DBException.php
+share/zabbix/include/classes/db/DbBackend.php
+share/zabbix/include/classes/db/MysqlDbBackend.php
+share/zabbix/include/classes/db/OracleDbBackend.php
+share/zabbix/include/classes/db/PostgresqlDbBackend.php
+share/zabbix/include/classes/debug/CProfiler.php
+share/zabbix/include/classes/export/CConfigurationExport.php
+share/zabbix/include/classes/export/CConfigurationExportBuilder.php
+share/zabbix/include/classes/export/CConfigurationExportException.php
+share/zabbix/include/classes/export/writers/CExportWriter.php
+share/zabbix/include/classes/export/writers/CExportWriterFactory.php
+share/zabbix/include/classes/export/writers/CJsonExportWriter.php
+share/zabbix/include/classes/export/writers/CRawExportWriter.php
+share/zabbix/include/classes/export/writers/CXmlExportWriter.php
+share/zabbix/include/classes/export/writers/CYamlExportWriter.php
+share/zabbix/include/classes/graph/CSvgGraph.php
+share/zabbix/include/classes/graphdraw/CGraphDraw.php
+share/zabbix/include/classes/graphdraw/CLineGraphDraw.php
+share/zabbix/include/classes/graphdraw/CPieGraphDraw.php
+share/zabbix/include/classes/helpers/CArrayHelper.php
+share/zabbix/include/classes/helpers/CAuthenticationHelper.php
+share/zabbix/include/classes/helpers/CBrandHelper.php
+share/zabbix/include/classes/helpers/CConditionHelper.php
+share/zabbix/include/classes/helpers/CConfigGeneralHelper.php
+share/zabbix/include/classes/helpers/CCookieHelper.php
+share/zabbix/include/classes/helpers/CCorrelationHelper.php
+share/zabbix/include/classes/helpers/CCuid.php
+share/zabbix/include/classes/helpers/CDashboardHelper.php
+share/zabbix/include/classes/helpers/CDataCacheHelper.php
+share/zabbix/include/classes/helpers/CDateTimeZoneHelper.php
+share/zabbix/include/classes/helpers/CElasticsearchHelper.php
+share/zabbix/include/classes/helpers/CEncryptHelper.php
+share/zabbix/include/classes/helpers/CHintBoxHelper.php
+share/zabbix/include/classes/helpers/CHousekeepingHelper.php
+share/zabbix/include/classes/helpers/CHtml.php
+share/zabbix/include/classes/helpers/CMapHelper.php
+share/zabbix/include/classes/helpers/CMathHelper.php
+share/zabbix/include/classes/helpers/CMediatypeHelper.php
+share/zabbix/include/classes/helpers/CMenuHelper.php
+share/zabbix/include/classes/helpers/CMenuPopupHelper.php
+share/zabbix/include/classes/helpers/CMessageHelper.php
+share/zabbix/include/classes/helpers/CPagerHelper.php
+share/zabbix/include/classes/helpers/CRegexHelper.php
+share/zabbix/include/classes/helpers/CRoleHelper.php
+share/zabbix/include/classes/helpers/CServiceHelper.php
+share/zabbix/include/classes/helpers/CSessionHelper.php
+share/zabbix/include/classes/helpers/CSettingsHelper.php
+share/zabbix/include/classes/helpers/CSeverityHelper.php
+share/zabbix/include/classes/helpers/CSvgGraphHelper.php
+share/zabbix/include/classes/helpers/CSystemInfoHelper.php
+share/zabbix/include/classes/helpers/CTagFilterFieldHelper.php
+share/zabbix/include/classes/helpers/CTemplateHelper.php
+share/zabbix/include/classes/helpers/CUploadFile.php
+share/zabbix/include/classes/helpers/CValueMapHelper.php
+share/zabbix/include/classes/helpers/CVaultHelper.php
+share/zabbix/include/classes/helpers/CViewHelper.php
+share/zabbix/include/classes/html/CActionButtonList.php
+share/zabbix/include/classes/html/CBreadcrumbs.php
+share/zabbix/include/classes/html/CButton.php
+share/zabbix/include/classes/html/CButtonCancel.php
+share/zabbix/include/classes/html/CButtonDelete.php
+share/zabbix/include/classes/html/CButtonDropdown.php
+share/zabbix/include/classes/html/CButtonExport.php
+share/zabbix/include/classes/html/CButtonQMessage.php
+share/zabbix/include/classes/html/CCheckBox.php
+share/zabbix/include/classes/html/CCheckBoxList.php
+share/zabbix/include/classes/html/CClock.php
+share/zabbix/include/classes/html/CCol.php
+share/zabbix/include/classes/html/CColHeader.php
+share/zabbix/include/classes/html/CCollapsibleUiWidget.php
+share/zabbix/include/classes/html/CColor.php
+share/zabbix/include/classes/html/CDashboardWidgetMap.php
+share/zabbix/include/classes/html/CDateSelector.php
+share/zabbix/include/classes/html/CDiv.php
+share/zabbix/include/classes/html/CFile.php
+share/zabbix/include/classes/html/CFilter.php
+share/zabbix/include/classes/html/CForm.php
+share/zabbix/include/classes/html/CFormActions.php
+share/zabbix/include/classes/html/CFormField.php
+share/zabbix/include/classes/html/CFormGrid.php
+share/zabbix/include/classes/html/CFormList.php
+share/zabbix/include/classes/html/CHorList.php
+share/zabbix/include/classes/html/CHostAvailability.php
+share/zabbix/include/classes/html/CIFrame.php
+share/zabbix/include/classes/html/CImageTextTable.php
+share/zabbix/include/classes/html/CImg.php
+share/zabbix/include/classes/html/CInput.php
+share/zabbix/include/classes/html/CInputSecret.php
+share/zabbix/include/classes/html/CJsScript.php
+share/zabbix/include/classes/html/CLabel.php
+share/zabbix/include/classes/html/CLink.php
+share/zabbix/include/classes/html/CLinkAction.php
+share/zabbix/include/classes/html/CList.php
+share/zabbix/include/classes/html/CListBox.php
+share/zabbix/include/classes/html/CListBoxItem.php
+share/zabbix/include/classes/html/CListItem.php
+share/zabbix/include/classes/html/CMacroValue.php
+share/zabbix/include/classes/html/CMenu.php
+share/zabbix/include/classes/html/CMenuItem.php
+share/zabbix/include/classes/html/CMultiSelect.php
+share/zabbix/include/classes/html/CMultilineInput.php
+share/zabbix/include/classes/html/CNavigationTree.php
+share/zabbix/include/classes/html/CNumericBox.php
+share/zabbix/include/classes/html/CObject.php
+share/zabbix/include/classes/html/CPassBox.php
+share/zabbix/include/classes/html/CPatternSelect.php
+share/zabbix/include/classes/html/CPre.php
+share/zabbix/include/classes/html/CRadioButtonList.php
+share/zabbix/include/classes/html/CRangeControl.php
+share/zabbix/include/classes/html/CRedirectButton.php
+share/zabbix/include/classes/html/CRow.php
+share/zabbix/include/classes/html/CRowHeader.php
+share/zabbix/include/classes/html/CScriptTag.php
+share/zabbix/include/classes/html/CScriptTemplate.php
+share/zabbix/include/classes/html/CSelect.php
+share/zabbix/include/classes/html/CSelectOption.php
+share/zabbix/include/classes/html/CSelectOptionGroup.php
+share/zabbix/include/classes/html/CSeverity.php
+share/zabbix/include/classes/html/CSeverityCheckBoxList.php
+share/zabbix/include/classes/html/CSimpleButton.php
+share/zabbix/include/classes/html/CSortable.php
+share/zabbix/include/classes/html/CSpan.php
+share/zabbix/include/classes/html/CSubmit.php
+share/zabbix/include/classes/html/CSubmitButton.php
+share/zabbix/include/classes/html/CSup.php
+share/zabbix/include/classes/html/CTabFilter.php
+share/zabbix/include/classes/html/CTabView.php
+share/zabbix/include/classes/html/CTable.php
+share/zabbix/include/classes/html/CTableColumn.php
+share/zabbix/include/classes/html/CTableInfo.php
+share/zabbix/include/classes/html/CTag.php
+share/zabbix/include/classes/html/CTextArea.php
+share/zabbix/include/classes/html/CTextAreaFlexible.php
+share/zabbix/include/classes/html/CTextBox.php
+share/zabbix/include/classes/html/CUiWidget.php
+share/zabbix/include/classes/html/CVar.php
+share/zabbix/include/classes/html/CVisibilityBox.php
+share/zabbix/include/classes/html/CWarning.php
+share/zabbix/include/classes/html/interfaces/CButtonInterface.php
+share/zabbix/include/classes/html/pageheader/CPageHeader.php
+share/zabbix/include/classes/html/svg/CSvg.php
+share/zabbix/include/classes/html/svg/CSvgArrow.php
+share/zabbix/include/classes/html/svg/CSvgCircle.php
+share/zabbix/include/classes/html/svg/CSvgGraphAnnotation.php
+share/zabbix/include/classes/html/svg/CSvgGraphArea.php
+share/zabbix/include/classes/html/svg/CSvgGraphAxis.php
+share/zabbix/include/classes/html/svg/CSvgGraphBar.php
+share/zabbix/include/classes/html/svg/CSvgGraphGrid.php
+share/zabbix/include/classes/html/svg/CSvgGraphLegend.php
+share/zabbix/include/classes/html/svg/CSvgGraphLine.php
+share/zabbix/include/classes/html/svg/CSvgGraphLineGroup.php
+share/zabbix/include/classes/html/svg/CSvgGraphPoints.php
+share/zabbix/include/classes/html/svg/CSvgGroup.php
+share/zabbix/include/classes/html/svg/CSvgLine.php
+share/zabbix/include/classes/html/svg/CSvgPath.php
+share/zabbix/include/classes/html/svg/CSvgPolygon.php
+share/zabbix/include/classes/html/svg/CSvgRect.php
+share/zabbix/include/classes/html/svg/CSvgTag.php
+share/zabbix/include/classes/html/svg/CSvgText.php
+share/zabbix/include/classes/html/widget/CWidget.php
+share/zabbix/include/classes/import/CConfigurationImport.php
+share/zabbix/include/classes/import/CConfigurationImportcompare.php
+share/zabbix/include/classes/import/CImportDataAdapter.php
+share/zabbix/include/classes/import/CImportReferencer.php
+share/zabbix/include/classes/import/CImportedObjectContainer.php
+share/zabbix/include/classes/import/converters/C10ImportConverter.php
+share/zabbix/include/classes/import/converters/C10ItemKeyConverter.php
+share/zabbix/include/classes/import/converters/C10TriggerConverter.php
+share/zabbix/include/classes/import/converters/C20ImportConverter.php
+share/zabbix/include/classes/import/converters/C20ItemKeyConverter.php
+share/zabbix/include/classes/import/converters/C20TriggerConverter.php
+share/zabbix/include/classes/import/converters/C30ImportConverter.php
+share/zabbix/include/classes/import/converters/C32ImportConverter.php
+share/zabbix/include/classes/import/converters/C34ImportConverter.php
+share/zabbix/include/classes/import/converters/C40ImportConverter.php
+share/zabbix/include/classes/import/converters/C42ImportConverter.php
+share/zabbix/include/classes/import/converters/C44ImportConverter.php
+share/zabbix/include/classes/import/converters/C50ImportConverter.php
+share/zabbix/include/classes/import/converters/C52AggregateItemKeyConverter.php
+share/zabbix/include/classes/import/converters/C52CalculatedItemConverter.php
+share/zabbix/include/classes/import/converters/C52EventNameConverter.php
+share/zabbix/include/classes/import/converters/C52ImportConverter.php
+share/zabbix/include/classes/import/converters/C52TriggerExpressionConverter.php
+share/zabbix/include/classes/import/converters/C54ImportConverter.php
+share/zabbix/include/classes/import/converters/C54SimpleMacroConverter.php
+share/zabbix/include/classes/import/converters/CConstantImportConverter.php
+share/zabbix/include/classes/import/converters/CConverter.php
+share/zabbix/include/classes/import/converters/CDefaultImportConverter.php
+share/zabbix/include/classes/import/converters/CImportConverterFactory.php
+share/zabbix/include/classes/import/converters/CImportDataNormalizer.php
+share/zabbix/include/classes/import/converters/CTemplateScreenConverter.php
+share/zabbix/include/classes/import/converters/CTransformImportConverter.php
+share/zabbix/include/classes/import/importers/CHostImporter.php
+share/zabbix/include/classes/import/importers/CImporter.php
+share/zabbix/include/classes/import/importers/CMapImporter.php
+share/zabbix/include/classes/import/importers/CTemplateDashboardImporter.php
+share/zabbix/include/classes/import/importers/CTemplateImporter.php
+share/zabbix/include/classes/import/readers/CImportReader.php
+share/zabbix/include/classes/import/readers/CImportReaderFactory.php
+share/zabbix/include/classes/import/readers/CJsonImportReader.php
+share/zabbix/include/classes/import/readers/CXmlImportReader.php
+share/zabbix/include/classes/import/readers/CYamlImportReader.php
+share/zabbix/include/classes/import/validators/C10XmlValidator.php
+share/zabbix/include/classes/import/validators/C20XmlValidator.php
+share/zabbix/include/classes/import/validators/C30XmlValidator.php
+share/zabbix/include/classes/import/validators/C32XmlValidator.php
+share/zabbix/include/classes/import/validators/C34XmlValidator.php
+share/zabbix/include/classes/import/validators/C40XmlValidator.php
+share/zabbix/include/classes/import/validators/C42XmlValidator.php
+share/zabbix/include/classes/import/validators/C44XmlValidator.php
+share/zabbix/include/classes/import/validators/C50XmlValidator.php
+share/zabbix/include/classes/import/validators/C52XmlValidator.php
+share/zabbix/include/classes/import/validators/C54XmlValidator.php
+share/zabbix/include/classes/import/validators/C60XmlValidator.php
+share/zabbix/include/classes/import/validators/CImportValidatorFactory.php
+share/zabbix/include/classes/import/validators/CXmlValidator.php
+share/zabbix/include/classes/import/validators/CXmlValidatorGeneral.php
+share/zabbix/include/classes/ldap/CLdap.php
+share/zabbix/include/classes/macros/CMacrosResolver.php
+share/zabbix/include/classes/macros/CMacrosResolverGeneral.php
+share/zabbix/include/classes/macros/CMacrosResolverHelper.php
+share/zabbix/include/classes/mvc/CController.php
+share/zabbix/include/classes/mvc/CControllerResponse.php
+share/zabbix/include/classes/mvc/CControllerResponseData.php
+share/zabbix/include/classes/mvc/CControllerResponseFatal.php
+share/zabbix/include/classes/mvc/CControllerResponseRedirect.php
+share/zabbix/include/classes/mvc/CLegacyAction.php
+share/zabbix/include/classes/mvc/CPartial.php
+share/zabbix/include/classes/mvc/CRouter.php
+share/zabbix/include/classes/mvc/CView.php
+share/zabbix/include/classes/parsers/C10ExpressionMacroParser.php
+share/zabbix/include/classes/parsers/C10FunctionMacroParser.php
+share/zabbix/include/classes/parsers/C10FunctionParser.php
+share/zabbix/include/classes/parsers/C10TriggerExpression.php
+share/zabbix/include/classes/parsers/CADNameAttributeParser.php
+share/zabbix/include/classes/parsers/CAbsoluteTimeParser.php
+share/zabbix/include/classes/parsers/CConditionFormula.php
+share/zabbix/include/classes/parsers/CDnsParser.php
+share/zabbix/include/classes/parsers/CExpressionMacroFunctionParser.php
+share/zabbix/include/classes/parsers/CExpressionMacroParser.php
+share/zabbix/include/classes/parsers/CExpressionParser.php
+share/zabbix/include/classes/parsers/CFilterParser.php
+share/zabbix/include/classes/parsers/CFlexibleIntervalParser.php
+share/zabbix/include/classes/parsers/CFunctionIdParser.php
+share/zabbix/include/classes/parsers/CGeomapCoordinatesParser.php
+share/zabbix/include/classes/parsers/CHistFunctionParser.php
+share/zabbix/include/classes/parsers/CHostGroupNameParser.php
+share/zabbix/include/classes/parsers/CHostNameParser.php
+share/zabbix/include/classes/parsers/CIPParser.php
+share/zabbix/include/classes/parsers/CIPRangeParser.php
+share/zabbix/include/classes/parsers/CIPv4Parser.php
+share/zabbix/include/classes/parsers/CIPv6Parser.php
+share/zabbix/include/classes/parsers/CItemKey.php
+share/zabbix/include/classes/parsers/CLLDMacroFunctionParser.php
+share/zabbix/include/classes/parsers/CLLDMacroParser.php
+share/zabbix/include/classes/parsers/CMacroFunctionParser.php
+share/zabbix/include/classes/parsers/CMacroParser.php
+share/zabbix/include/classes/parsers/CNumberParser.php
+share/zabbix/include/classes/parsers/CParser.php
+share/zabbix/include/classes/parsers/CPeriodParser.php
+share/zabbix/include/classes/parsers/CPrometheusOutputParser.php
+share/zabbix/include/classes/parsers/CPrometheusPatternParser.php
+share/zabbix/include/classes/parsers/CQueryParser.php
+share/zabbix/include/classes/parsers/CRangeParser.php
+share/zabbix/include/classes/parsers/CRangeTimeParser.php
+share/zabbix/include/classes/parsers/CRangesParser.php
+share/zabbix/include/classes/parsers/CReferenceParser.php
+share/zabbix/include/classes/parsers/CRelativeTimeParser.php
+share/zabbix/include/classes/parsers/CReplacementParser.php
+share/zabbix/include/classes/parsers/CSchedulingIntervalParser.php
+share/zabbix/include/classes/parsers/CSetParser.php
+share/zabbix/include/classes/parsers/CSimpleIntervalParser.php
+share/zabbix/include/classes/parsers/CTimePeriodParser.php
+share/zabbix/include/classes/parsers/CTimePeriodsParser.php
+share/zabbix/include/classes/parsers/CUpdateIntervalParser.php
+share/zabbix/include/classes/parsers/CUserMacroParser.php
+share/zabbix/include/classes/parsers/CValidationRule.php
+share/zabbix/include/classes/parsers/CVaultSecretParser.php
+share/zabbix/include/classes/parsers/results/C10TriggerExprParserResult.php
+share/zabbix/include/classes/parsers/results/CExpressionParserResult.php
+share/zabbix/include/classes/parsers/results/CParserResult.php
+share/zabbix/include/classes/regexp/CGlobalRegexp.php
+share/zabbix/include/classes/routing/CUrl.php
+share/zabbix/include/classes/routing/CUrlFactory.php
+share/zabbix/include/classes/screens/CScreenBase.php
+share/zabbix/include/classes/screens/CScreenBuilder.php
+share/zabbix/include/classes/screens/CScreenDiscovery.php
+share/zabbix/include/classes/screens/CScreenHistory.php
+share/zabbix/include/classes/screens/CScreenHttpTest.php
+share/zabbix/include/classes/screens/CScreenHttpTestDetails.php
+share/zabbix/include/classes/screens/CScreenMap.php
+share/zabbix/include/classes/screens/CScreenProblem.php
+share/zabbix/include/classes/server/CZabbixServer.php
+share/zabbix/include/classes/services/CServicesSlaCalculator.php
+share/zabbix/include/classes/services/CTabFilterProfile.php
+share/zabbix/include/classes/setup/CFrontendSetup.php
+share/zabbix/include/classes/setup/CSetupWizard.php
+share/zabbix/include/classes/triggers/CTextTriggerConstructor.php
+share/zabbix/include/classes/user/CFavorite.php
+share/zabbix/include/classes/user/CProfile.php
+share/zabbix/include/classes/user/CWebUser.php
+share/zabbix/include/classes/validators/CActionCondValidator.php
+share/zabbix/include/classes/validators/CApiInputValidator.php
+share/zabbix/include/classes/validators/CCollectionValidator.php
+share/zabbix/include/classes/validators/CColorValidator.php
+share/zabbix/include/classes/validators/CEmailValidator.php
+share/zabbix/include/classes/validators/CEventCorrCondValidator.php
+share/zabbix/include/classes/validators/CEventNameValidator.php
+share/zabbix/include/classes/validators/CExpressionValidator.php
+share/zabbix/include/classes/validators/CHistFunctionValidator.php
+share/zabbix/include/classes/validators/CHtmlUrlValidator.php
+share/zabbix/include/classes/validators/CIdValidator.php
+share/zabbix/include/classes/validators/CLdapAuthValidator.php
+share/zabbix/include/classes/validators/CLimitedSetValidator.php
+share/zabbix/include/classes/validators/CMathFunctionValidator.php
+share/zabbix/include/classes/validators/CNewValidator.php
+share/zabbix/include/classes/validators/CPartialValidatorInterface.php
+share/zabbix/include/classes/validators/CPasswordComplexityValidator.php
+share/zabbix/include/classes/validators/CRegexValidator.php
+share/zabbix/include/classes/validators/CStringValidator.php
+share/zabbix/include/classes/validators/CValidator.php
+share/zabbix/include/classes/validators/event/CEventSourceObjectValidator.php
+share/zabbix/include/classes/validators/host/CHostNormalValidator.php
+share/zabbix/include/classes/validators/object/CConditionValidator.php
+share/zabbix/include/classes/validators/object/CUpdateDiscoveredValidator.php
+share/zabbix/include/classes/validators/schema/CSchemaValidator.php
+share/zabbix/include/classes/widgets/CWidgetConfig.php
+share/zabbix/include/classes/widgets/CWidgetHelper.php
+share/zabbix/include/classes/widgets/fields/CWidgetField.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldCheckBox.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldCheckBoxList.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldColor.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldDatePicker.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldGraphDataSet.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldGraphOverride.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldHidden.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldHostPatternSelect.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldIntegerBox.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldLatLng.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMs.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsGraph.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsGraphPrototype.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsGroup.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsHost.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsItem.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldMsItemPrototype.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldNavTree.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldNumericBox.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldRadioButtonList.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldRangeControl.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldReference.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldSelect.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldSelectResource.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldSeverities.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldTags.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldTextArea.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldTextBox.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldUrl.php
+share/zabbix/include/classes/widgets/fields/CWidgetFieldWidgetSelect.php
+share/zabbix/include/classes/widgets/forms/CWidgetForm.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormActionLog.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormClock.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormDataOver.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormGeoMap.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormGraph.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormGraphPrototype.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormHostAvail.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormItem.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormMap.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormNavTree.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormPlainText.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormProblemHosts.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormProblems.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormProblemsBySv.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormSvgGraph.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormSystemInfo.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormTrigOver.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormUrl.php
+share/zabbix/include/classes/widgets/forms/CWidgetFormWeb.php
+share/zabbix/include/classes/widgets/views/widget.actionlog.form.view.php
+share/zabbix/include/classes/widgets/views/widget.clock.form.view.php
+share/zabbix/include/classes/widgets/views/widget.dataover.form.view.php
+share/zabbix/include/classes/widgets/views/widget.discovery.form.view.php
+share/zabbix/include/classes/widgets/views/widget.favgraphs.form.view.php
+share/zabbix/include/classes/widgets/views/widget.favmaps.form.view.php
+share/zabbix/include/classes/widgets/views/widget.geomap.form.view.php
+share/zabbix/include/classes/widgets/views/widget.graph.form.view.php
+share/zabbix/include/classes/widgets/views/widget.graphprototype.form.view.php
+share/zabbix/include/classes/widgets/views/widget.hostavail.form.view.php
+share/zabbix/include/classes/widgets/views/widget.item.form.view.php
+share/zabbix/include/classes/widgets/views/widget.map.form.view.php
+share/zabbix/include/classes/widgets/views/widget.navtree.form.view.php
+share/zabbix/include/classes/widgets/views/widget.plaintext.form.view.php
+share/zabbix/include/classes/widgets/views/widget.problemhosts.form.view.php
+share/zabbix/include/classes/widgets/views/widget.problems.form.view.php
+share/zabbix/include/classes/widgets/views/widget.problemsbysv.form.view.php
+share/zabbix/include/classes/widgets/views/widget.svggraph.form.view.php
+share/zabbix/include/classes/widgets/views/widget.systeminfo.form.view.php
+share/zabbix/include/classes/widgets/views/widget.trigover.form.view.php
+share/zabbix/include/classes/widgets/views/widget.url.form.view.php
+share/zabbix/include/classes/widgets/views/widget.web.form.view.php
+share/zabbix/include/classes/xml/CXmlConstantName.php
+share/zabbix/include/classes/xml/CXmlConstantValue.php
+share/zabbix/include/config.inc.php
+share/zabbix/include/db.inc.php
+share/zabbix/include/debug.inc.php
+share/zabbix/include/defines.inc.php
+share/zabbix/include/discovery.inc.php
+share/zabbix/include/draw.inc.php
+share/zabbix/include/events.inc.php
+share/zabbix/include/forms.inc.php
+share/zabbix/include/func.inc.php
+share/zabbix/include/gettextwrapper.inc.php
+share/zabbix/include/graphs.inc.php
+share/zabbix/include/hostgroups.inc.php
+share/zabbix/include/hosts.inc.php
+share/zabbix/include/html.inc.php
+share/zabbix/include/httptest.inc.php
+share/zabbix/include/images.inc.php
+share/zabbix/include/items.inc.php
+share/zabbix/include/js.inc.php
+share/zabbix/include/locales.inc.php
+share/zabbix/include/maintenances.inc.php
+share/zabbix/include/maps.inc.php
+share/zabbix/include/media.inc.php
+share/zabbix/include/page_footer.php
+share/zabbix/include/page_header.php
+share/zabbix/include/perm.inc.php
+share/zabbix/include/schema.inc.php
+share/zabbix/include/sounds.inc.php
+share/zabbix/include/translateDefines.inc.php
+share/zabbix/include/triggers.inc.php
+share/zabbix/include/users.inc.php
+share/zabbix/include/validate.inc.php
+share/zabbix/include/views/administration.auditacts.list.php
+share/zabbix/include/views/configuration.action.edit.php
+share/zabbix/include/views/configuration.action.list.php
+share/zabbix/include/views/configuration.copy.elements.php
+share/zabbix/include/views/configuration.graph.edit.php
+share/zabbix/include/views/configuration.graph.list.php
+share/zabbix/include/views/configuration.host.discovery.edit.php
+share/zabbix/include/views/configuration.host.discovery.list.php
+share/zabbix/include/views/configuration.host.prototype.edit.php
+share/zabbix/include/views/configuration.host.prototype.list.php
+share/zabbix/include/views/configuration.hostgroups.edit.php
+share/zabbix/include/views/configuration.hostgroups.list.php
+share/zabbix/include/views/configuration.httpconf.edit.php
+share/zabbix/include/views/configuration.httpconf.list.php
+share/zabbix/include/views/configuration.item.edit.php
+share/zabbix/include/views/configuration.item.list.php
+share/zabbix/include/views/configuration.item.prototype.edit.php
+share/zabbix/include/views/configuration.item.prototype.list.php
+share/zabbix/include/views/configuration.maintenance.edit.php
+share/zabbix/include/views/configuration.maintenance.list.php
+share/zabbix/include/views/configuration.template.edit.php
+share/zabbix/include/views/configuration.template.list.php
+share/zabbix/include/views/configuration.trigger.prototype.edit.php
+share/zabbix/include/views/configuration.trigger.prototype.list.php
+share/zabbix/include/views/configuration.triggers.edit.php
+share/zabbix/include/views/configuration.triggers.list.php
+share/zabbix/include/views/general.browserwarning.php
+share/zabbix/include/views/general.login.php
+share/zabbix/include/views/general.warning.php
+share/zabbix/include/views/inventory.host.list.php
+share/zabbix/include/views/inventory.host.view.php
+share/zabbix/include/views/js/common.init.js.php
+share/zabbix/include/views/js/common.item.edit.js.php
+share/zabbix/include/views/js/common.template.edit.js.php
+share/zabbix/include/views/js/configuration.action.edit.js.php
+share/zabbix/include/views/js/configuration.copy.elements.js.php
+share/zabbix/include/views/js/configuration.graph.edit.js.php
+share/zabbix/include/views/js/configuration.host.discovery.edit.js.php
+share/zabbix/include/views/js/configuration.host.discovery.edit.overr.js.php
+share/zabbix/include/views/js/configuration.host.discovery.list.js.php
+share/zabbix/include/views/js/configuration.host.prototype.edit.js.php
+share/zabbix/include/views/js/configuration.hostgroups.list.js.php
+share/zabbix/include/views/js/configuration.httpconf.edit.js.php
+share/zabbix/include/views/js/configuration.httpconf.list.js.php
+share/zabbix/include/views/js/configuration.item.edit.js.php
+share/zabbix/include/views/js/configuration.item.list.js.php
+share/zabbix/include/views/js/configuration.item.prototype.edit.js.php
+share/zabbix/include/views/js/configuration.maintenance.edit.js.php
+share/zabbix/include/views/js/configuration.template.list.js.php
+share/zabbix/include/views/js/configuration.triggers.edit.js.php
+share/zabbix/include/views/js/configuration.triggers.list.js.php
+share/zabbix/include/views/js/editabletable.js.php
+share/zabbix/include/views/js/inventory.host.view.js.php
+share/zabbix/include/views/js/item.preprocessing.js.php
+share/zabbix/include/views/js/itemtest.js.php
+share/zabbix/include/views/js/monitoring.history.js.php
+share/zabbix/include/views/js/monitoring.sysmap.edit.js.php
+share/zabbix/include/views/js/monitoring.sysmaps.js.php
+share/zabbix/include/views/js/reports.toptriggers.js.php
+share/zabbix/include/views/js/tr_events.js.php
+share/zabbix/include/views/monitoring.history.php
+share/zabbix/include/views/monitoring.sysmap.constructor.php
+share/zabbix/include/views/monitoring.sysmap.edit.php
+share/zabbix/include/views/monitoring.sysmap.list.php
+share/zabbix/include/views/reports.toptriggers.php
+share/zabbix/index.php
+share/zabbix/index_http.php
+share/zabbix/index_sso.php
+share/zabbix/items.php
+share/zabbix/js/browsers.js
+share/zabbix/js/chkbxrange.js
+share/zabbix/js/class.base-component.js
+share/zabbix/js/class.bbcode.js
+share/zabbix/js/class.browsertab.js
+share/zabbix/js/class.calendar.js
+share/zabbix/js/class.cdate.js
+share/zabbix/js/class.cdebug.js
+share/zabbix/js/class.cmap.js
+share/zabbix/js/class.cnavtree.js
+share/zabbix/js/class.cookie.js
+share/zabbix/js/class.coverride.js
+share/zabbix/js/class.crangecontrol.js
+share/zabbix/js/class.csuggest.js
+share/zabbix/js/class.csvggraph.js
+share/zabbix/js/class.curl.js
+share/zabbix/js/class.cverticalaccordion.js
+share/zabbix/js/class.cviewswitcher.js
+share/zabbix/js/class.dashboard.js
+share/zabbix/js/class.dashboard.page.js
+share/zabbix/js/class.dashboard.widget.placeholder.js
+share/zabbix/js/class.geomaps.js
+share/zabbix/js/class.localstorage.js
+share/zabbix/js/class.menu-item.js
+share/zabbix/js/class.menu.js
+share/zabbix/js/class.notification.collection.js
+share/zabbix/js/class.notification.js
+share/zabbix/js/class.notifications.audio.js
+share/zabbix/js/class.notifications.js
+share/zabbix/js/class.overlay.js
+share/zabbix/js/class.overlaycollection.js
+share/zabbix/js/class.rpc.js
+share/zabbix/js/class.scrollable.js
+share/zabbix/js/class.sidebar.js
+share/zabbix/js/class.sortable.js
+share/zabbix/js/class.tab-indicators.js
+share/zabbix/js/class.tabfilter.js
+share/zabbix/js/class.tabfilteritem.js
+share/zabbix/js/class.tagfilteritem.js
+share/zabbix/js/class.template.js
+share/zabbix/js/colorpicker.js
+share/zabbix/js/common.js
+share/zabbix/js/component.z-select.js
+share/zabbix/js/flickerfreescreen.js
+share/zabbix/js/functions.js
+share/zabbix/js/gtlc.js
+share/zabbix/js/hostinterfacemanager.js
+share/zabbix/js/hostmacrosmanager.js
+share/zabbix/js/init.js
+share/zabbix/js/inputsecret.js
+share/zabbix/js/layout.mode.js
+share/zabbix/js/macrovalue.js
+share/zabbix/js/main.js
+share/zabbix/js/menupopup.js
+share/zabbix/js/multilineinput.js
+share/zabbix/js/multiselect.js
+share/zabbix/js/pages/items.js
+share/zabbix/js/pages/popup.condition.common.js
+share/zabbix/js/pages/popup.operation.common.js
+share/zabbix/js/pages/report2.js
+share/zabbix/js/pages/report4.js
+share/zabbix/js/pages/setup.js
+share/zabbix/js/servercheck.js
+share/zabbix/js/textareaflexible.js
+share/zabbix/js/vector/class.svg.canvas.js
+share/zabbix/js/vector/class.svg.map.js
+share/zabbix/js/vendors/Leaflet/Leaflet.markercluster/leaflet.markercluster.js
+share/zabbix/js/vendors/Leaflet/Leaflet/LICENSE
+share/zabbix/js/vendors/Leaflet/Leaflet/leaflet.js
+share/zabbix/js/vendors/jquery-ui.js
+share/zabbix/js/vendors/jquery.js
+share/zabbix/js/widgets/class.widget.clock.js
+share/zabbix/js/widgets/class.widget.geomap.js
+share/zabbix/js/widgets/class.widget.graph-prototype.js
+share/zabbix/js/widgets/class.widget.graph.js
+share/zabbix/js/widgets/class.widget.item.js
+share/zabbix/js/widgets/class.widget.iterator.js
+share/zabbix/js/widgets/class.widget.js
+share/zabbix/js/widgets/class.widget.map.js
+share/zabbix/js/widgets/class.widget.navtree.js
+share/zabbix/js/widgets/class.widget.paste-placeholder.js
+share/zabbix/js/widgets/class.widget.problems.js
+share/zabbix/js/widgets/class.widget.problemsbysv.js
+share/zabbix/js/widgets/class.widget.svggraph.js
+share/zabbix/js/widgets/class.widget.trigerover.js
+share/zabbix/jsLoader.php
+share/zabbix/jsrpc.php
+share/zabbix/local/.htaccess
+share/zabbix/local/README
+share/zabbix/locale/README
+share/zabbix/locale/add_new_language.sh
+share/zabbix/locale/bg/LC_MESSAGES/frontend.mo
+share/zabbix/locale/bg/LC_MESSAGES/frontend.po
+share/zabbix/locale/ca/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ca/LC_MESSAGES/frontend.po
+share/zabbix/locale/cs/LC_MESSAGES/frontend.mo
+share/zabbix/locale/cs/LC_MESSAGES/frontend.po
+share/zabbix/locale/de/LC_MESSAGES/frontend.mo
+share/zabbix/locale/de/LC_MESSAGES/frontend.po
+share/zabbix/locale/el/LC_MESSAGES/frontend.mo
+share/zabbix/locale/el/LC_MESSAGES/frontend.po
+share/zabbix/locale/es/LC_MESSAGES/frontend.mo
+share/zabbix/locale/es/LC_MESSAGES/frontend.po
+share/zabbix/locale/fa/LC_MESSAGES/frontend.mo
+share/zabbix/locale/fa/LC_MESSAGES/frontend.po
+share/zabbix/locale/fi/LC_MESSAGES/frontend.mo
+share/zabbix/locale/fi/LC_MESSAGES/frontend.po
+share/zabbix/locale/fr/LC_MESSAGES/frontend.mo
+share/zabbix/locale/fr/LC_MESSAGES/frontend.po
+share/zabbix/locale/he/LC_MESSAGES/frontend.mo
+share/zabbix/locale/he/LC_MESSAGES/frontend.po
+share/zabbix/locale/hu/LC_MESSAGES/frontend.mo
+share/zabbix/locale/hu/LC_MESSAGES/frontend.po
+share/zabbix/locale/id/LC_MESSAGES/frontend.mo
+share/zabbix/locale/id/LC_MESSAGES/frontend.po
+share/zabbix/locale/it/LC_MESSAGES/frontend.mo
+share/zabbix/locale/it/LC_MESSAGES/frontend.po
+share/zabbix/locale/ja/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ja/LC_MESSAGES/frontend.po
+share/zabbix/locale/ka/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ka/LC_MESSAGES/frontend.po
+share/zabbix/locale/ko/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ko/LC_MESSAGES/frontend.po
+share/zabbix/locale/lt/LC_MESSAGES/frontend.mo
+share/zabbix/locale/lt/LC_MESSAGES/frontend.po
+share/zabbix/locale/lv/LC_MESSAGES/frontend.mo
+share/zabbix/locale/lv/LC_MESSAGES/frontend.po
+share/zabbix/locale/make_mo.sh
+share/zabbix/locale/nb/LC_MESSAGES/frontend.mo
+share/zabbix/locale/nb/LC_MESSAGES/frontend.po
+share/zabbix/locale/nl/LC_MESSAGES/frontend.mo
+share/zabbix/locale/nl/LC_MESSAGES/frontend.po
+share/zabbix/locale/pl/LC_MESSAGES/frontend.mo
+share/zabbix/locale/pl/LC_MESSAGES/frontend.po
+share/zabbix/locale/pt_BR/LC_MESSAGES/frontend.mo
+share/zabbix/locale/pt_BR/LC_MESSAGES/frontend.po
+share/zabbix/locale/pt_PT/LC_MESSAGES/frontend.mo
+share/zabbix/locale/pt_PT/LC_MESSAGES/frontend.po
+share/zabbix/locale/ro/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ro/LC_MESSAGES/frontend.po
+share/zabbix/locale/ru/LC_MESSAGES/frontend.mo
+share/zabbix/locale/ru/LC_MESSAGES/frontend.po
+share/zabbix/locale/sk/LC_MESSAGES/frontend.mo
+share/zabbix/locale/sk/LC_MESSAGES/frontend.po
+share/zabbix/locale/sv/LC_MESSAGES/frontend.mo
+share/zabbix/locale/sv/LC_MESSAGES/frontend.po
+share/zabbix/locale/tr/LC_MESSAGES/frontend.mo
+share/zabbix/locale/tr/LC_MESSAGES/frontend.po
+share/zabbix/locale/uk/LC_MESSAGES/frontend.mo
+share/zabbix/locale/uk/LC_MESSAGES/frontend.po
+share/zabbix/locale/update_po.sh
+share/zabbix/locale/vi/LC_MESSAGES/frontend.mo
+share/zabbix/locale/vi/LC_MESSAGES/frontend.po
+share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo
+share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.po
+share/zabbix/locale/zh_TW/LC_MESSAGES/frontend.mo
+share/zabbix/locale/zh_TW/LC_MESSAGES/frontend.po
+share/zabbix/maintenance.php
+share/zabbix/map.php
+share/zabbix/report2.php
+share/zabbix/report4.php
+share/zabbix/robots.txt
+share/zabbix/setup.php
+share/zabbix/sysmap.php
+share/zabbix/sysmaps.php
+share/zabbix/templates.php
+share/zabbix/toptriggers.php
+share/zabbix/tr_events.php
+share/zabbix/trigger_prototypes.php
+share/zabbix/triggers.php
+share/zabbix/vendor/autoload.php
+share/zabbix/vendor/bin/yaml-lint
+share/zabbix/vendor/bin/yaml-lint.bat
+share/zabbix/vendor/composer/ClassLoader.php
+share/zabbix/vendor/composer/LICENSE
+share/zabbix/vendor/composer/autoload_classmap.php
+share/zabbix/vendor/composer/autoload_files.php
+share/zabbix/vendor/composer/autoload_namespaces.php
+share/zabbix/vendor/composer/autoload_psr4.php
+share/zabbix/vendor/composer/autoload_real.php
+share/zabbix/vendor/composer/autoload_static.php
+share/zabbix/vendor/composer/installed.json
+share/zabbix/vendor/php-saml/CHANGELOG
+share/zabbix/vendor/php-saml/LICENSE
+share/zabbix/vendor/php-saml/README.md
+share/zabbix/vendor/php-saml/_toolkit_loader.php
+share/zabbix/vendor/php-saml/advanced_settings_example.php
+share/zabbix/vendor/php-saml/certs/README
+share/zabbix/vendor/php-saml/composer.json
+share/zabbix/vendor/php-saml/phpunit.xml
+share/zabbix/vendor/php-saml/settings_example.php
+share/zabbix/vendor/php-saml/src/Saml2/Auth.php
+share/zabbix/vendor/php-saml/src/Saml2/AuthnRequest.php
+share/zabbix/vendor/php-saml/src/Saml2/Constants.php
+share/zabbix/vendor/php-saml/src/Saml2/Error.php
+share/zabbix/vendor/php-saml/src/Saml2/IdPMetadataParser.php
+share/zabbix/vendor/php-saml/src/Saml2/LogoutRequest.php
+share/zabbix/vendor/php-saml/src/Saml2/LogoutResponse.php
+share/zabbix/vendor/php-saml/src/Saml2/Metadata.php
+share/zabbix/vendor/php-saml/src/Saml2/Response.php
+share/zabbix/vendor/php-saml/src/Saml2/Settings.php
+share/zabbix/vendor/php-saml/src/Saml2/Utils.php
+share/zabbix/vendor/php-saml/src/Saml2/ValidationError.php
+share/zabbix/vendor/php-saml/src/Saml2/schemas/saml-schema-assertion-2.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/saml-schema-authn-context-2.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/saml-schema-authn-context-types-2.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/saml-schema-metadata-2.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/saml-schema-protocol-2.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/sstc-metadata-attr.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/sstc-saml-attribute-ext.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/sstc-saml-metadata-algsupport-v1.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/sstc-saml-metadata-ui-v1.0.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/xenc-schema.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/xml.xsd
+share/zabbix/vendor/php-saml/src/Saml2/schemas/xmldsig-core-schema.xsd
+share/zabbix/vendor/php-saml/src/Saml2/version.json
+share/zabbix/vendor/symfony/deprecation-contracts/CHANGELOG.md
+share/zabbix/vendor/symfony/deprecation-contracts/LICENSE
+share/zabbix/vendor/symfony/deprecation-contracts/README.md
+share/zabbix/vendor/symfony/deprecation-contracts/composer.json
+share/zabbix/vendor/symfony/deprecation-contracts/function.php
+share/zabbix/vendor/symfony/polyfill-ctype/Ctype.php
+share/zabbix/vendor/symfony/polyfill-ctype/LICENSE
+share/zabbix/vendor/symfony/polyfill-ctype/README.md
+share/zabbix/vendor/symfony/polyfill-ctype/bootstrap.php
+share/zabbix/vendor/symfony/polyfill-ctype/composer.json
+share/zabbix/vendor/symfony/yaml/CHANGELOG.md
+share/zabbix/vendor/symfony/yaml/Command/LintCommand.php
+share/zabbix/vendor/symfony/yaml/Dumper.php
+share/zabbix/vendor/symfony/yaml/Escaper.php
+share/zabbix/vendor/symfony/yaml/Exception/DumpException.php
+share/zabbix/vendor/symfony/yaml/Exception/ExceptionInterface.php
+share/zabbix/vendor/symfony/yaml/Exception/ParseException.php
+share/zabbix/vendor/symfony/yaml/Exception/RuntimeException.php
+share/zabbix/vendor/symfony/yaml/Inline.php
+share/zabbix/vendor/symfony/yaml/LICENSE
+share/zabbix/vendor/symfony/yaml/Parser.php
+share/zabbix/vendor/symfony/yaml/README.md
+share/zabbix/vendor/symfony/yaml/Resources/bin/yaml-lint
+share/zabbix/vendor/symfony/yaml/Tag/TaggedValue.php
+share/zabbix/vendor/symfony/yaml/Unescaper.php
+share/zabbix/vendor/symfony/yaml/Yaml.php
+share/zabbix/vendor/symfony/yaml/composer.json
+share/zabbix/vendor/xmlseclibs/CHANGELOG.txt
+share/zabbix/vendor/xmlseclibs/LICENSE
+share/zabbix/vendor/xmlseclibs/README.md
+share/zabbix/vendor/xmlseclibs/composer.json
+share/zabbix/vendor/xmlseclibs/src/Utils/XPath.php
+share/zabbix/vendor/xmlseclibs/src/XMLSecEnc.php
+share/zabbix/vendor/xmlseclibs/src/XMLSecurityDSig.php
+share/zabbix/vendor/xmlseclibs/src/XMLSecurityKey.php
+share/zabbix/vendor/xmlseclibs/xmlseclibs.php
+share/zabbix/zabbix.php
+@pkgdir share/zabbix/modules
+@pkgdir share/zabbix/local/conf
+@pkgdir share/zabbix/local/app/views
+@pkgdir share/zabbix/local/app/partials
+@pkgdir share/zabbix/local/app/controllers
+@pkgdir share/zabbix/conf/certs
diff --git a/zabbix60-frontend/distinfo b/zabbix60-frontend/distinfo
new file mode 100644
index 0000000000..11aacdf4ab
--- /dev/null
+++ b/zabbix60-frontend/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (zabbix-6.0.0beta1.tar.gz) = 2382034773a2fe5a6f07c7ae50b709f46396b535bdaacbd93939045980be0648
+SHA512 (zabbix-6.0.0beta1.tar.gz) = 400f6a800c0445fa7ce9098fddc6ce4660226a03b58c20207592c124297748833f42028bf12c2677f114754ffdc77988f9a0fc08c58967ddbf0f19f10cb50bdd
+Size (zabbix-6.0.0beta1.tar.gz) = 30606687 bytes
diff --git a/zabbix60-frontend/files/httpd-zabbix.conf b/zabbix60-frontend/files/httpd-zabbix.conf
new file mode 100644
index 0000000000..467c613741
--- /dev/null
+++ b/zabbix60-frontend/files/httpd-zabbix.conf
@@ -0,0 +1,40 @@
+Alias /zabbix /usr/pkg/share/zabbix
+
+<Directory "/usr/pkg/share/zabbix">
+	Options -FollowSymLinks
+	AllowOverride Limit
+	<LimitExcept POST GET>
+		Order deny,allow
+		Deny from all
+	</LimitExcept>
+	<IfModule mod_authz_core.c>
+		Require all granted
+	</IfModule>
+	<IfModule !mod_authz_core.c>
+		Order allow,deny
+		Allow from all
+	</IfModule>
+	<files *.php>
+		SetHandler application/x-httpd-php
+		SetHandler "proxy:unix:/var/run/php-fpm_zabbix.sock|fcgi://localhost"
+	</files>
+</Directory>
+
+<Directory ~ "^/usr/pkg/share/zabbix/(conf|api|include|local)/">
+	<IfModule mod_authz_core.c>
+		Require all denied
+	</IfModule>
+	<IfModule !mod_authz_core.c>
+		Order deny,allow
+		Deny from all
+	</IfModule>
+	<files *.php>
+		<IfModule mod_authz_core.c>
+			Require all denied
+		</IfModule>
+		<IfModule !mod_authz_core.c>
+			Order deny,allow
+			Deny from all
+		</IfModule>
+	</files>
+</Directory>
diff --git a/zabbix60-frontend/files/php-fpm-zabbix.conf b/zabbix60-frontend/files/php-fpm-zabbix.conf
new file mode 100644
index 0000000000..425feb0dc0
--- /dev/null
+++ b/zabbix60-frontend/files/php-fpm-zabbix.conf
@@ -0,0 +1,25 @@
+[zabbix]
+user = www
+group = www
+
+listen = /var/run/php-fpm_zabbix.sock
+listen.owner = www
+listen.group = www
+listen.allowed_clients = 127.0.0.1
+
+pm = dynamic
+pm.max_children = 50
+pm.start_servers = 5
+pm.min_spare_servers = 5
+pm.max_spare_servers = 35
+
+php_value[session.save_handler] = files
+
+php_value[max_execution_time] = 300
+php_value[memory_limit] = 512M
+php_value[post_max_size] = 128M
+php_value[upload_max_filesize] = 128M
+php_value[max_input_time] = 300
+php_value[max_input_vars] = 10000
+php_value[always_populate_raw_post_data] = -1
+;php_value[date.timezone] = Asia/Tokyo
diff --git a/zabbix60-frontend/options.mk b/zabbix60-frontend/options.mk
new file mode 100644
index 0000000000..23e66ce1cb
--- /dev/null
+++ b/zabbix60-frontend/options.mk
@@ -0,0 +1,20 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.zabbix54-frontend
+PKG_OPTIONS_OPTIONAL_GROUPS=	database
+PKG_OPTIONS_GROUP.database=	mysql pgsql
+PKG_SUGGESTED_OPTIONS+=		pgsql
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mmysql)
+CONFIGURE_ARGS+=	--with-mysql
+.include "../../mk/mysql.buildlink3.mk"
+ZABBIX_DB_TYPE=		mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+CONFIGURE_ARGS+=	--with-postgresql
+.include "../../mk/pgsql.buildlink3.mk"
+ZABBIX_DB_TYPE=		postgresql
+.endif
diff --git a/zabbix60-java/DESCR b/zabbix60-java/DESCR
new file mode 100644
index 0000000000..43094c0148
--- /dev/null
+++ b/zabbix60-java/DESCR
@@ -0,0 +1,10 @@
+Zabbix is the ultimate enterprise-level software designed for monitoring
+availability and performance of IT infrastructure components. Zabbix is open
+source and comes at no cost.
+
+With Zabbix it is possible to gather virtually limitless types of data from
+the network. High performance real-time monitoring means that tens of thousands
+of servers, virtual machines and network devices can be monitored
+simultaneously. Along with storing the data, visualization features are
+available (overviews, maps, graphs, screens, etc), as well as very flexible
+ways of analyzing the data for the purpose of alerting.
diff --git a/zabbix60-java/Makefile b/zabbix60-java/Makefile
new file mode 100644
index 0000000000..8266d6f93f
--- /dev/null
+++ b/zabbix60-java/Makefile
@@ -0,0 +1,28 @@
+# $NetBSD$
+
+.include "../../wip/zabbix60-server/Makefile.common"
+
+PKGNAME=	${DISTNAME:S/-/-java-/}
+COMMENT=	Enterprise-class Monitoring Solution for Everyone
+
+USE_TOOLS+=		pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--enable-java
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+
+CONFIGURE_ENV+=	JAVAC=${PKG_JAVA_HOME}/bin/javac
+CONFIGURE_ENV+=	JAR=${PKG_JAVA_HOME}/bin/jar
+
+USE_JAVA=	run
+PKG_JVMS_ACCEPTED=	openjdk8
+
+SUBST_CLASSES+=			fix-paths
+SUBST_STAGE.fix-paths=		pre-configure
+SUBST_MESSAGE.fix-paths=	Fixing absolute paths.
+SUBST_FILES.fix-paths=		conf/*.conf
+SUBST_FILES.fix-paths+=		man/*.man
+SUBST_SED.fix-paths=		-e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
+
+.include "../../mk/java-vm.mk"
+.include "../../mk/bsd.prefs.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/zabbix60-java/PLIST b/zabbix60-java/PLIST
new file mode 100644
index 0000000000..ab1478becd
--- /dev/null
+++ b/zabbix60-java/PLIST
@@ -0,0 +1,11 @@
+@comment $NetBSD$
+sbin/zabbix_java/bin/zabbix-java-gateway-${PKGVERSION}.jar
+sbin/zabbix_java/lib/android-json-4.3_r3.1.jar
+sbin/zabbix_java/lib/logback-classic-1.2.3.jar
+sbin/zabbix_java/lib/logback-console.xml
+sbin/zabbix_java/lib/logback-core-1.2.3.jar
+sbin/zabbix_java/lib/logback.xml
+sbin/zabbix_java/lib/slf4j-api-1.7.30.jar
+sbin/zabbix_java/settings.sh
+sbin/zabbix_java/shutdown.sh
+sbin/zabbix_java/startup.sh
diff --git a/zabbix60-java/distinfo b/zabbix60-java/distinfo
new file mode 100644
index 0000000000..efdb8d303b
--- /dev/null
+++ b/zabbix60-java/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (zabbix-6.0.0beta1.tar.gz) = 2382034773a2fe5a6f07c7ae50b709f46396b535bdaacbd93939045980be0648
+SHA512 (zabbix-6.0.0beta1.tar.gz) = 400f6a800c0445fa7ce9098fddc6ce4660226a03b58c20207592c124297748833f42028bf12c2677f114754ffdc77988f9a0fc08c58967ddbf0f19f10cb50bdd
+Size (zabbix-6.0.0beta1.tar.gz) = 30606687 bytes
+SHA1 (patch-configure) = cf647b9ee52a96882d31f8783ac19b66e3e65105
diff --git a/zabbix60-java/patches/patch-configure b/zabbix60-java/patches/patch-configure
new file mode 100644
index 0000000000..f7ccc9e08b
--- /dev/null
+++ b/zabbix60-java/patches/patch-configure
@@ -0,0 +1,15 @@
+$NetBSD: patch-configure,v 1.1 2020/11/03 22:52:42 otis Exp $
+
+Fix bash-ism.
+
+--- configure.orig	2020-07-13 07:56:36.000000000 +0000
++++ configure
+@@ -8494,7 +8494,7 @@ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ 
+-            if test "$found_mysql_tls" == "yes"; then
++            if test "$found_mysql_tls" = "yes"; then
+ 
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS ciphersuites in MySQL library" >&5
+ $as_echo_n "checking for TLS ciphersuites in MySQL library... " >&6; }
diff --git a/zabbix60-proxy/DESCR b/zabbix60-proxy/DESCR
new file mode 100644
index 0000000000..43094c0148
--- /dev/null
+++ b/zabbix60-proxy/DESCR
@@ -0,0 +1,10 @@
+Zabbix is the ultimate enterprise-level software designed for monitoring
+availability and performance of IT infrastructure components. Zabbix is open
+source and comes at no cost.
+
+With Zabbix it is possible to gather virtually limitless types of data from
+the network. High performance real-time monitoring means that tens of thousands
+of servers, virtual machines and network devices can be monitored
+simultaneously. Along with storing the data, visualization features are
+available (overviews, maps, graphs, screens, etc), as well as very flexible
+ways of analyzing the data for the purpose of alerting.
diff --git a/zabbix60-proxy/Makefile b/zabbix60-proxy/Makefile
new file mode 100644
index 0000000000..846aec21a9
--- /dev/null
+++ b/zabbix60-proxy/Makefile
@@ -0,0 +1,77 @@
+# $NetBSD$
+
+.include "../../wip/zabbix60-server/Makefile.common"
+
+PKGNAME=	${DISTNAME:S/-/-proxy-${ZABBIX_DB_TYPE}-/}
+COMMENT=	Enterprise-class Monitoring Solution for Everyone
+
+CONFLICTS+=	zabbix-[0-9]*
+CONFLICTS+=	zabbix-proxy-[0-9]*
+
+DEPENDS+=	fping-[0-9]*:../../net/fping
+
+USE_TOOLS+=		aclocal autoconf automake pax pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--enable-proxy
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=	--datarootdir=${PREFIX}/share/${PKGBASE}
+CONFIGURE_ARGS+=	--with-iconv=${BUILDLINK_PREFIX.iconv}
+CONFIGURE_ARGS+=	--with-ldap=${BUILDLINK_PREFIX.openldap-client}
+CONFIGURE_ARGS+=	--with-libcurl
+CONFIGURE_ARGS+=	--with-libevent=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+=	--with-libpcre=${BUILDLINK_PREFIX.pcre}
+CONFIGURE_ARGS+=	--with-libxml2
+CONFIGURE_ARGS+=	--with-openssl=${BUILDLINK_PREFIX.openssl}
+CONFIGURE_ARGS+=	--with-zlib=${BUILDLINK_PREFIX.zlib}
+
+EGDIR=		share/examples/${PKGBASE}
+CONF_FILES+=	${EGDIR}/zabbix_proxy.conf ${PKG_SYSCONFDIR}/zabbix_proxy.conf
+
+RCD_SCRIPTS=	zabbix_proxy
+SMF_NAME=	zabbix-proxy
+
+INSTALLATION_DIRS+=	${EGDIR} share/${PKGBASE}
+
+SUBST_CLASSES+=			fix-paths
+SUBST_STAGE.fix-paths=		pre-configure
+SUBST_MESSAGE.fix-paths=	Fixing absolute paths.
+SUBST_FILES.fix-paths=		conf/*.conf
+SUBST_FILES.fix-paths+=		man/*.man
+SUBST_SED.fix-paths=		-e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
+
+SUBST_CLASSES+=			fix-pkgbase
+SUBST_STAGE.fix-pkgbase=	pre-configure
+SUBST_MESSAGE.fix-pkgbase=	Fixing PKGBASE.
+SUBST_FILES.fix-pkgbase=	src/zabbix_proxy/Makefile.am
+SUBST_SED.fix-pkgbase=		-e 's,%%PKGBASE%%,${PKGBASE},g'
+
+PLIST_SUBST+=			PKGBASE=${PKGBASE}
+
+CFLAGS.SunOS+=			-DDUK_USE_BYTEORDER=1
+
+.include "../../mk/bsd.prefs.mk"
+
+pre-configure:
+	set -e; cd ${WRKSRC}; \
+	   aclocal -I m4 ; automake -ai --foreign; autoconf -I m4
+
+post-install:
+	cd ${WRKSRC}/database/${ZABBIX_DB_TYPE}; \
+		${PAX} -rw . ${DESTDIR}${PREFIX}/share/${PKGBASE}/
+	${RM} ${DESTDIR}${PREFIX}/share/${PKGBASE}/Makefile*
+	${RM} ${DESTDIR}${PREFIX}/share/${PKGBASE}/data.sql
+	${RM} ${DESTDIR}${PREFIX}/share/${PKGBASE}/images.sql
+	${MV} ${DESTDIR}${PREFIX}/bin/zabbix_js \
+	   ${DESTDIR}${PREFIX}/bin/zabbix_proxy_js
+
+.include "options.mk"
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/openldap-client/buildlink3.mk"
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/zabbix60-proxy/PLIST b/zabbix60-proxy/PLIST
new file mode 100644
index 0000000000..6df1e5dc41
--- /dev/null
+++ b/zabbix60-proxy/PLIST
@@ -0,0 +1,11 @@
+@comment $NetBSD$
+bin/zabbix_proxy_js
+man/man8/zabbix_proxy.8
+sbin/zabbix_proxy
+share/examples/${PKGBASE}/zabbix_proxy.conf
+${PLIST.sqldb}share/${PKGBASE}/double.sql
+share/${PKGBASE}/schema.sql
+${PLIST.pgsql}share/${PKGBASE}/timescaledb.sql
+@pkgdir share/${PKGBASE}/externalscripts
+@pkgdir lib/modules
+@pkgdir etc/zabbix_proxy.conf.d
diff --git a/zabbix60-proxy/distinfo b/zabbix60-proxy/distinfo
new file mode 100644
index 0000000000..5d17d32195
--- /dev/null
+++ b/zabbix60-proxy/distinfo
@@ -0,0 +1,9 @@
+$NetBSD$
+
+BLAKE2s (zabbix-6.0.0beta1.tar.gz) = 2382034773a2fe5a6f07c7ae50b709f46396b535bdaacbd93939045980be0648
+SHA512 (zabbix-6.0.0beta1.tar.gz) = 400f6a800c0445fa7ce9098fddc6ce4660226a03b58c20207592c124297748833f42028bf12c2677f114754ffdc77988f9a0fc08c58967ddbf0f19f10cb50bdd
+Size (zabbix-6.0.0beta1.tar.gz) = 30606687 bytes
+SHA1 (patch-m4_ax__lib__mysql.m4) = 9786c6bff3d22334263921c201bf241a207a46bc
+SHA1 (patch-m4_libssh.m4) = 8b4ac3964caf94bb0e4939d265dcefc08a07a0df
+SHA1 (patch-src_libs_zbxsysinfo_netbsd_net.c) = 0371a5cafe00d01f293a847105f7c501f443616c
+SHA1 (patch-src_zabbix__proxy_Makefile.am) = 9d2c3d5ca06e676154653b70f0931ed2ea281cf5
diff --git a/zabbix60-proxy/files/smf/manifest.xml b/zabbix60-proxy/files/smf/manifest.xml
new file mode 100644
index 0000000000..b319012725
--- /dev/null
+++ b/zabbix60-proxy/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+    <dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/filesystem/local"/>
+    </dependency>
+    <dependency name="network-service" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/network/service"/>
+    </dependency>
+    <dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/system-log"/>
+    </dependency>
+    <method_context>
+        <method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
+    </method_context>
+    <instance name="@SMF_INSTANCES@" enabled="false">
+      <dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
+        <service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_proxy.conf"/>
+      </dependency>
+      <exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_proxy -c @PKG_SYSCONFDIR@/zabbix_proxy.conf" timeout_seconds="0"/>
+      <exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
+      <template>
+        <common_name>
+          <loctext xml:lang="C">Zabbix proxy</loctext>
+        </common_name>
+      </template>
+    </instance>
+  </service>
+</service_bundle>
diff --git a/zabbix60-proxy/files/zabbix_proxy.sh b/zabbix60-proxy/files/zabbix_proxy.sh
new file mode 100644
index 0000000000..65f8d51af1
--- /dev/null
+++ b/zabbix60-proxy/files/zabbix_proxy.sh
@@ -0,0 +1,27 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD$
+#
+# Zabbix proxy daemon
+#
+# REQUIRE: DAEMON
+# PROVIDE: zabbix_proxy
+
+if [ -f /etc/rc.subr ]; then
+	. /etc/rc.subr
+fi
+
+name="zabbix_proxy"
+rcvar=${name}
+command="@PREFIX@/sbin/${name}"
+start_precmd="ulimit -s 10240"
+required_files="@PKG_SYSCONFDIR@/${name}.conf"
+
+if [ -f /etc/rc.subr ]; then
+	load_rc_config ${name}
+	run_rc_command "$1"
+else
+	@ECHO@ -n " ${name}"
+	[ "x$1" = "xstart" ] && ulimit -s 10240
+	${command} ${command_args}
+fi
diff --git a/zabbix60-proxy/options.mk b/zabbix60-proxy/options.mk
new file mode 100644
index 0000000000..88a544f734
--- /dev/null
+++ b/zabbix60-proxy/options.mk
@@ -0,0 +1,61 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.zabbix54-proxy
+PKG_SUPPORTED_OPTIONS+=		inet6 ipmi libssh libssh2 snmp
+PKG_OPTIONS_OPTIONAL_GROUPS=	database
+PKG_OPTIONS_GROUP.database=	mysql pgsql sqlite3
+PKG_SUGGESTED_OPTIONS+=		libssh2 pgsql snmp
+
+.if empty(MISSING_FEATURES:Minet6)
+PKG_SUGGESTED_OPTIONS+=		inet6
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		pgsql
+PLIST_VARS+=		sqldb
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+=	--enable-ipv6
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibssh)
+CONFIGURE_ARGS+=	--with-ssh=${BUILDLINK_PREFIX.libssh}
+.include "../../security/libssh/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibssh2)
+CONFIGURE_ARGS+=	--with-ssh2=${BUILDLINK_PREFIX.libssh2}
+.include "../../security/libssh2/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mmysql)
+CONFIGURE_ARGS+=	--with-mysql
+.include "../../mk/mysql.buildlink3.mk"
+ZABBIX_DB_TYPE=		mysql
+PLIST.sqldb=		yes
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+CONFIGURE_ARGS+=	--with-net-snmp
+.include "../../net/net-snmp/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+CONFIGURE_ARGS+=	--with-postgresql
+.include "../../mk/pgsql.buildlink3.mk"
+ZABBIX_DB_TYPE=		postgresql
+PLIST.pgsql=		yes
+PLIST.sqldb=		yes
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite3)
+CONFIGURE_ARGS+=	--with-sqlite3=${BUILDLINK_PREFIX.sqlite3}
+.include "../../databases/sqlite3/buildlink3.mk"
+ZABBIX_DB_TYPE=		sqlite3
+.endif
+
+.if !empty(PKG_OPTIONS:Mipmi)
+CONFIGURE_ARGS+=	--with-openipmi=${PREFIX}
+.include "../../sysutils/openipmi/buildlink3.mk"
+.endif
diff --git a/zabbix60-proxy/patches/patch-m4_ax__lib__mysql.m4 b/zabbix60-proxy/patches/patch-m4_ax__lib__mysql.m4
new file mode 100644
index 0000000000..18c2022972
--- /dev/null
+++ b/zabbix60-proxy/patches/patch-m4_ax__lib__mysql.m4
@@ -0,0 +1,15 @@
+$NetBSD: patch-m4_ax__lib__mysql.m4,v 1.1 2020/11/03 22:45:39 otis Exp $
+
+Fix bash-ism.
+
+--- m4/ax_lib_mysql.m4.orig	2020-08-24 09:42:55.000000000 +0000
++++ m4/ax_lib_mysql.m4
+@@ -236,7 +236,7 @@ AC_DEFUN([AX_LIB_MYSQL],
+             LDFLAGS="${LDFLAGS} ${MYSQL_LDFLAGS}"
+             LIBS="${LIBS} ${MYSQL_LIBS}"
+             LIBMYSQL_TLS_TRY_LINK([no])
+-            if test "$found_mysql_tls" == "yes"; then
++            if test "$found_mysql_tls" = "yes"; then
+                 LIBMYSQL_TLS_CIPHERS_TRY_LINK([no])
+             else
+                 LIBMARIADB_TLS_TRY_LINK([no])
diff --git a/zabbix60-proxy/patches/patch-m4_libssh.m4 b/zabbix60-proxy/patches/patch-m4_libssh.m4
new file mode 100644
index 0000000000..57f3b920da
--- /dev/null
+++ b/zabbix60-proxy/patches/patch-m4_libssh.m4
@@ -0,0 +1,40 @@
+$NetBSD: patch-m4_libssh.m4,v 1.1 2020/11/03 22:45:39 otis Exp $
+
+Fix libssh >= 0.9.5 detection.
+
+--- m4/libssh.m4.orig	2020-05-10 17:36:06.000000000 +0000
++++ m4/libssh.m4
+@@ -83,13 +83,19 @@ AC_HELP_STRING([--with-ssh@<:@=DIR@:>@],
+          SSH_LDFLAGS=-L/usr/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh.h])
++	 fi
+        elif test -f /usr/local/include/libssh/libssh.h; then
+          SSH_CFLAGS=-I/usr/local/include
+          SSH_LDFLAGS=-L/usr/local/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh.h])
++	 fi
+        else #libraries are not found in default directories
+          found_ssh="no"
+          AC_MSG_RESULT(no)
+@@ -100,7 +106,10 @@ AC_HELP_STRING([--with-ssh@<:@=DIR@:>@],
+          SSH_LDFLAGS=-L$_libssh_dir/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh.h])
++	 fi
+        else #if test -f $_libssh_dir/include/libssh/libssh.h; then
+          found_ssh="no"
+          AC_MSG_RESULT(no)
diff --git a/zabbix60-proxy/patches/patch-src_libs_zbxsysinfo_netbsd_net.c b/zabbix60-proxy/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
new file mode 100644
index 0000000000..3ac229d762
--- /dev/null
+++ b/zabbix60-proxy/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
@@ -0,0 +1,199 @@
+$NetBSD: patch-src_libs_zbxsysinfo_netbsd_net.c,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Rework interface statistics code from using kvm to using sysctl interface.
+
+--- src/libs/zbxsysinfo/netbsd/net.c.orig	2021-10-25 09:49:27.000000000 +0000
++++ src/libs/zbxsysinfo/netbsd/net.c
+@@ -22,6 +22,9 @@
+ #include "zbxjson.h"
+ #include "log.h"
+ 
++#include <net/route.h>
++#include <net/if_dl.h>
++
+ static struct nlist kernel_symbols[] =
+ {
+ 	{"_ifnet", N_UNDF, 0, 0, 0},
+@@ -31,42 +34,91 @@ static struct nlist kernel_symbols[] =
+ 
+ #define IFNET_ID 0
+ 
++static void
++get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info)
++{
++	int i;
++
++	for (i = 0; i < RTAX_MAX; i++) {
++		if (addrs & (1 << i)) {
++			rti_info[i] = sa;
++			sa = (struct sockaddr *)((char *)(sa) +
++					RT_ROUNDUP(sa->sa_len));
++		} else
++			rti_info[i] = NULL;
++	}
++}
++
+ static int	get_ifdata(const char *if_name,
+ 		zbx_uint64_t *ibytes, zbx_uint64_t *ipackets, zbx_uint64_t *ierrors, zbx_uint64_t *idropped,
+ 		zbx_uint64_t *obytes, zbx_uint64_t *opackets, zbx_uint64_t *oerrors,
+ 		zbx_uint64_t *tbytes, zbx_uint64_t *tpackets, zbx_uint64_t *terrors,
+ 		zbx_uint64_t *icollisions, char **error)
+ {
+-	struct ifnet_head	head;
+-	struct ifnet		*ifp;
+-	struct ifnet		v;
++	struct	if_msghdr *ifm;
++	int	mib[6] = { CTL_NET, AF_ROUTE, 0, 0, NET_RT_IFLIST, 0 };
++	char	*buf = NULL;
++	char	*lim, *next;
++	struct	rt_msghdr *rtm;
++	struct	if_data *ifd = NULL;
++	struct	sockaddr *sa, *rti_info[RTAX_MAX];
++	struct	sockaddr_dl *sdl;
++
++	size_t	len = 0;
++	size_t	olen = 0;
++	int		ret = SYSINFO_RET_FAIL;
+ 
+-	kvm_t	*kp;
+-	int	ret = SYSINFO_RET_FAIL;
++	static char name[IFNAMSIZ];
+ 
+ 	if (NULL == if_name || '\0' == *if_name)
+ 	{
+ 		*error = zbx_strdup(NULL, "Network interface name cannot be empty.");
+-		return FAIL;
++		ret = FAIL;
++		goto out;
+ 	}
+ 
+-	if (NULL == (kp = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL))) /* requires root privileges */
+-	{
+-		*error = zbx_strdup(NULL, "Cannot obtain a descriptor to access kernel virtual memory.");
+-		return FAIL;
+-	}
+ 
+-	if (N_UNDF == kernel_symbols[IFNET_ID].n_type)
+-		if (0 != kvm_nlist(kp, &kernel_symbols[0]))
+-			kernel_symbols[IFNET_ID].n_type = N_UNDF;
+-
+-	if (N_UNDF != kernel_symbols[IFNET_ID].n_type)
+-	{
+-		int	len = sizeof(struct ifnet_head);
++	if (sysctl(mib, 6, NULL, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to read network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
+ 
+-		if (kvm_read(kp, kernel_symbols[IFNET_ID].n_value, &head, len) >= len)
+-		{
+-			len = sizeof(struct ifnet);
++	if (len > olen) {
++		free(buf);
++		if ((buf = zbx_malloc(NULL, len)) == NULL) {
++			*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++			ret = FAIL;
++			goto out;
++		}
++		olen = len;
++	}
++	if (sysctl(mib, 6, buf, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
++
++	lim = buf + len;
++	for (next = buf; next < lim; next += rtm->rtm_msglen) {
++		rtm = (struct rt_msghdr *)next;
++		if ((rtm->rtm_version == RTM_VERSION) &&
++				(rtm->rtm_type == RTM_IFINFO)) {
++			ifm = (struct if_msghdr *)next;
++			ifd = &ifm->ifm_data;
++
++			sa = (struct sockaddr *)(ifm + 1);
++			get_rtaddrs(ifm->ifm_addrs, sa, rti_info);
++
++			sdl = (struct sockaddr_dl *)rti_info[RTAX_IFP];
++			if (sdl == NULL || sdl->sdl_family != AF_LINK) {
++				continue;
++			}
++			bzero(name, sizeof(name));
++			if (sdl->sdl_nlen >= IFNAMSIZ)
++				memcpy(name, sdl->sdl_data, IFNAMSIZ - 1);
++			else if (sdl->sdl_nlen > 0)
++				memcpy(name, sdl->sdl_data, sdl->sdl_nlen);
+ 
+ 			/* if_ibytes;		total number of octets received */
+ 			/* if_ipackets;		packets received on interface */
+@@ -100,42 +152,38 @@ static int	get_ifdata(const char *if_nam
+ 			if (icollisions)
+ 				*icollisions = 0;
+ 
+-			for (ifp = head.tqh_first; ifp; ifp = v.if_list.tqe_next)
++			if (0 == strcmp(if_name, name))
+ 			{
+-				if (kvm_read(kp, (u_long)ifp, &v, len) < len)
+-					break;
+-
+-				if (0 == strcmp(if_name, v.if_xname))
+-				{
+-					if (ibytes)
+-						*ibytes += v.if_ibytes;
+-					if (ipackets)
+-						*ipackets += v.if_ipackets;
+-					if (ierrors)
+-						*ierrors += v.if_ierrors;
+-					if (idropped)
+-						*idropped += v.if_iqdrops;
+-					if (obytes)
+-						*obytes += v.if_obytes;
+-					if (opackets)
+-						*opackets += v.if_opackets;
+-					if (oerrors)
+-						*oerrors += v.if_oerrors;
+-					if (tbytes)
+-						*tbytes += v.if_ibytes + v.if_obytes;
+-					if (tpackets)
+-						*tpackets += v.if_ipackets + v.if_opackets;
+-					if (terrors)
+-						*terrors += v.if_ierrors + v.if_oerrors;
+-					if (icollisions)
+-						*icollisions += v.if_collisions;
+-					ret = SYSINFO_RET_OK;
+-				}
++				if (ibytes)
++					*ibytes += ifd->ifi_ibytes;
++				if (ipackets)
++					*ipackets += ifd->ifi_ipackets;
++				if (ierrors)
++					*ierrors += ifd->ifi_ierrors;
++				if (idropped)
++					*idropped += ifd->ifi_iqdrops;
++				if (obytes)
++					*obytes += ifd->ifi_obytes;
++				if (opackets)
++					*opackets += ifd->ifi_opackets;
++				if (oerrors)
++					*oerrors += ifd->ifi_oerrors;
++				if (tbytes)
++					*tbytes += ifd->ifi_ibytes + ifd->ifi_obytes;
++				if (tpackets)
++					*tpackets += ifd->ifi_ipackets + ifd->ifi_opackets;
++				if (terrors)
++					*terrors += ifd->ifi_ierrors + ifd->ifi_oerrors;
++				if (icollisions)
++					*icollisions += ifd->ifi_collisions;
++				ret = SYSINFO_RET_OK;
++				goto out;
+ 			}
+ 		}
+ 	}
+ 
+-	kvm_close(kp);
++out:
++	free(buf);
+ 
+ 	if (SYSINFO_RET_FAIL == ret)
+ 	{
diff --git a/zabbix60-proxy/patches/patch-src_zabbix__proxy_Makefile.am b/zabbix60-proxy/patches/patch-src_zabbix__proxy_Makefile.am
new file mode 100644
index 0000000000..875af04efe
--- /dev/null
+++ b/zabbix60-proxy/patches/patch-src_zabbix__proxy_Makefile.am
@@ -0,0 +1,12 @@
+$NetBSD: patch-src_zabbix__proxy_Makefile.am,v 1.1 2020/11/03 22:45:39 otis Exp $
+
+Install config file to component's example directory.
+
+--- src/zabbix_proxy/Makefile.am.orig	2020-08-24 09:42:55.000000000 +0000
++++ src/zabbix_proxy/Makefile.am
+@@ -97,4 +97,4 @@ install-data-hook:
+ 	$(MKDIR_P) "$(DESTDIR)$(PROXY_CONFIG_FILE).d"
+ 	$(MKDIR_P) "$(DESTDIR)$(EXTERNAL_SCRIPTS_PATH)"
+ 	$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
+-	test -f "$(DESTDIR)$(PROXY_CONFIG_FILE)" || cp "../../conf/zabbix_proxy.conf" "$(DESTDIR)$(PROXY_CONFIG_FILE)"
++	$(INSTALL_DATA) "../../conf/zabbix_proxy.conf" "$(DESTDIR)/${PREFIX}/share/examples/%%PKGBASE%%"
diff --git a/zabbix60-server/DESCR b/zabbix60-server/DESCR
new file mode 100644
index 0000000000..5b0609ac6b
--- /dev/null
+++ b/zabbix60-server/DESCR
@@ -0,0 +1,12 @@
+Zabbix is the ultimate enterprise-level software designed for monitoring
+availability and performance of IT infrastructure components. Zabbix is open
+source and comes at no cost.
+
+With Zabbix it is possible to gather virtually limitless types of data from
+the network. High performance real-time monitoring means that tens of thousands
+of servers, virtual machines and network devices can be monitored
+simultaneously. Along with storing the data, visualization features are
+available (overviews, maps, graphs, screens, etc), as well as very flexible
+ways of analyzing the data for the purpose of alerting.
+
+This is an LTS release of Zabbix!
diff --git a/zabbix60-server/Makefile b/zabbix60-server/Makefile
new file mode 100644
index 0000000000..9afded754a
--- /dev/null
+++ b/zabbix60-server/Makefile
@@ -0,0 +1,88 @@
+# $NetBSD$
+# used by wip/zabbix54-proxy/Makefile
+# used by wip/zabbix54-agent/Makefile
+#
+.include "Makefile.common"
+
+PKGNAME=	${DISTNAME:S/-/-server-${ZABBIX_DB_TYPE}-/}
+COMMENT=	Enterprise-class Monitoring Solution for Everyone
+
+CONFLICTS+=	zabbix-[0-9]*
+CONFLICTS+=	zabbix-server-[0-9]*
+
+DEPENDS+=	fping-[0-9]*:../../net/fping
+
+USE_TOOLS+=		aclocal autoconf automake pax pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--enable-server
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=	--datarootdir=${PREFIX}/share/${PKGBASE}
+CONFIGURE_ARGS+=	--with-iconv=${BUILDLINK_PREFIX.iconv}
+CONFIGURE_ARGS+=	--with-ldap=${BUILDLINK_PREFIX.openldap-client}
+CONFIGURE_ARGS+=	--with-libcurl
+CONFIGURE_ARGS+=	--with-libevent=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+=	--with-libpcre=${BUILDLINK_PREFIX.pcre}
+CONFIGURE_ARGS+=	--with-libxml2
+CONFIGURE_ARGS+=	--with-openssl=${BUILDLINK_PREFIX.openssl}
+CONFIGURE_ARGS+=	--with-zlib=${BUILDLINK_PREFIX.zlib}
+
+EGDIR=		share/examples/${PKGBASE}
+CONF_FILES+=	${EGDIR}/zabbix_server.conf ${PKG_SYSCONFDIR}/zabbix_server.conf
+
+RCD_SCRIPTS=	zabbix_server
+SMF_NAME=	zabbix-server
+
+MISCDIRS=	images snmptrap
+
+INSTALLATION_DIRS+=	${EGDIR}
+INSTALLATION_DIRS+=	share/${PKGBASE}
+.for MISCDIR in ${MISCDIRS}
+INSTALLATION_DIRS+=	share/${PKGBASE}/misc/${MISCDIR}
+.endfor
+
+SUBST_CLASSES+=			fix-paths
+SUBST_STAGE.fix-paths=		pre-configure
+SUBST_MESSAGE.fix-paths=	Fixing absolute paths.
+SUBST_FILES.fix-paths=		conf/*.conf
+SUBST_FILES.fix-paths+=		man/*.man
+SUBST_SED.fix-paths=		-e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
+
+SUBST_CLASSES+=			fix-pkgbase
+SUBST_STAGE.fix-pkgbase=	pre-configure
+SUBST_MESSAGE.fix-pkgbase=	Fixing PKGBASE.
+SUBST_FILES.fix-pkgbase=	src/zabbix_server/Makefile.am
+SUBST_SED.fix-pkgbase=		-e 's,%%PKGBASE%%,${PKGBASE},g'
+
+PLIST_SUBST+=			PKGBASE=${PKGBASE}
+
+CFLAGS.SunOS+=			-DDUK_USE_BYTEORDER=1
+
+REPLACE_BASH+=			misc/snmptrap/snmptrap.sh \
+				misc/images/png_to_xml.sh
+
+.include "../../mk/bsd.prefs.mk"
+
+pre-configure:
+	set -e; cd ${WRKSRC}; \
+	   aclocal -I m4 ; automake -ai --foreign; autoconf -I m4
+
+post-install:
+	cd ${WRKSRC}/database/${ZABBIX_DB_TYPE}; \
+		${PAX} -rw . ${DESTDIR}${PREFIX}/share/${PKGBASE}/
+.for MISCDIR in ${MISCDIRS}
+	cd ${WRKSRC}/misc/${MISCDIR}; \
+		${PAX} -rw . ${DESTDIR}${PREFIX}/share/${PKGBASE}/misc/${MISCDIR}
+.endfor
+	${RM} ${DESTDIR}${PREFIX}/share/${PKGBASE}/Makefile*
+
+.include "options.mk"
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/openldap-client/buildlink3.mk"
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/zabbix60-server/Makefile.common b/zabbix60-server/Makefile.common
new file mode 100644
index 0000000000..880bb61e8a
--- /dev/null
+++ b/zabbix60-server/Makefile.common
@@ -0,0 +1,28 @@
+# $NetBSD$
+# used by wip/zabbix54-agent/Makefile
+# used by wip/zabbix54-proxy/Makefile
+# used by wip/zabbix54-server/Makefile
+# used by wip/zabbix54-frontend/Makefile
+# used by wip/zabbix54-java/Makefile
+
+DISTNAME=	zabbix-6.0.0beta1
+CATEGORIES=	sysutils
+MASTER_SITES=	https://cdn.zabbix.com/zabbix/sources/development/6.0/
+
+MAINTAINER?=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://www.zabbix.com/
+LICENSE=	gnu-gpl-v2
+
+# Zabbix user, common to all components
+ZABBIX_GROUP?=			zabbix
+ZABBIX_USER?=			zabbix
+ZABBIX_HOMEDIR?=		/var/zabbix
+PKG_GROUPS+=			${ZABBIX_GROUP}
+PKG_USERS+=			${ZABBIX_USER}:${ZABBIX_GROUP}
+PKG_GECOS.${ZABBIX_USER}=	Zabbix user
+PKG_HOME.${ZABBIX_USER}=	${ZABBIX_HOMEDIR}
+
+FILES_SUBST+=			ZABBIX_USER=${ZABBIX_USER}
+FILES_SUBST+=			ZABBIX_GROUP=${ZABBIX_GROUP}
+
+OWN_DIRS_PERMS+=		${ZABBIX_HOMEDIR} ${ZABBIX_USER} ${ZABBIX_GROUP} 0755
diff --git a/zabbix60-server/PLIST b/zabbix60-server/PLIST
new file mode 100644
index 0000000000..5ceb544d0d
--- /dev/null
+++ b/zabbix60-server/PLIST
@@ -0,0 +1,226 @@
+@comment $NetBSD$
+bin/zabbix_js
+man/man8/zabbix_server.8
+sbin/zabbix_server
+share/examples/${PKGBASE}/zabbix_server.conf
+share/${PKGBASE}/data.sql
+share/${PKGBASE}/images.sql
+share/${PKGBASE}/schema.sql
+share/${PKGBASE}/double.sql
+${PLIST.pgsql}share/${PKGBASE}/timescaledb.sql
+share/${PKGBASE}/misc/images/png_classic/Hub_small.png
+share/${PKGBASE}/misc/images/png_classic/Hub.png
+share/${PKGBASE}/misc/images/png_classic/Network_small.png
+share/${PKGBASE}/misc/images/png_classic/Network.png
+share/${PKGBASE}/misc/images/png_classic/Notebook_small.png
+share/${PKGBASE}/misc/images/png_classic/Notebook.png
+share/${PKGBASE}/misc/images/png_classic/Phone_small.png
+share/${PKGBASE}/misc/images/png_classic/Phone.png
+share/${PKGBASE}/misc/images/png_classic/Printer_small.png
+share/${PKGBASE}/misc/images/png_classic/Printer.png
+share/${PKGBASE}/misc/images/png_classic/README
+share/${PKGBASE}/misc/images/png_classic/Router_small.png
+share/${PKGBASE}/misc/images/png_classic/Router.png
+share/${PKGBASE}/misc/images/png_classic/Satellite_small.png
+share/${PKGBASE}/misc/images/png_classic/Satellite.png
+share/${PKGBASE}/misc/images/png_classic/Server_small.png
+share/${PKGBASE}/misc/images/png_classic/Server.png
+share/${PKGBASE}/misc/images/png_classic/UPS_small.png
+share/${PKGBASE}/misc/images/png_classic/UPS.png
+share/${PKGBASE}/misc/images/png_classic/Workstation_small.png
+share/${PKGBASE}/misc/images/png_classic/Workstation.png
+share/${PKGBASE}/misc/images/png_modern/Cloud_(128).png
+share/${PKGBASE}/misc/images/png_modern/Cloud_(24).png
+share/${PKGBASE}/misc/images/png_modern/Cloud_(48).png
+share/${PKGBASE}/misc/images/png_modern/Cloud_(64).png
+share/${PKGBASE}/misc/images/png_modern/Cloud_(96).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_(128).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_(24).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_(48).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_(64).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_(96).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_symbol_(128).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_symbol_(24).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_symbol_(48).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_symbol_(64).png
+share/${PKGBASE}/misc/images/png_modern/Crypto-router_symbol_(96).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_2D_(24).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_2D_(48).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_3D_(24).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_3D_(48).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Disk_array_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Firewall_(128).png
+share/${PKGBASE}/misc/images/png_modern/Firewall_(24).png
+share/${PKGBASE}/misc/images/png_modern/Firewall_(48).png
+share/${PKGBASE}/misc/images/png_modern/Firewall_(64).png
+share/${PKGBASE}/misc/images/png_modern/Firewall_(96).png
+share/${PKGBASE}/misc/images/png_modern/House_(128).png
+share/${PKGBASE}/misc/images/png_modern/House_(24).png
+share/${PKGBASE}/misc/images/png_modern/House_(48).png
+share/${PKGBASE}/misc/images/png_modern/House_(64).png
+share/${PKGBASE}/misc/images/png_modern/House_(96).png
+share/${PKGBASE}/misc/images/png_modern/Hub_(128).png
+share/${PKGBASE}/misc/images/png_modern/Hub_(24).png
+share/${PKGBASE}/misc/images/png_modern/Hub_(48).png
+share/${PKGBASE}/misc/images/png_modern/Hub_(64).png
+share/${PKGBASE}/misc/images/png_modern/Hub_(96).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_(128).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_(24).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_(48).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_(64).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_(96).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_symbol_(128).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_symbol_(24).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_symbol_(48).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_symbol_(64).png
+share/${PKGBASE}/misc/images/png_modern/IP_PBX_symbol_(96).png
+share/${PKGBASE}/misc/images/png_modern/Modem_(128).png
+share/${PKGBASE}/misc/images/png_modern/Modem_(24).png
+share/${PKGBASE}/misc/images/png_modern/Modem_(48).png
+share/${PKGBASE}/misc/images/png_modern/Modem_(64).png
+share/${PKGBASE}/misc/images/png_modern/Modem_(96).png
+share/${PKGBASE}/misc/images/png_modern/Network_(128).png
+share/${PKGBASE}/misc/images/png_modern/Network_(24).png
+share/${PKGBASE}/misc/images/png_modern/Network_(48).png
+share/${PKGBASE}/misc/images/png_modern/Network_(64).png
+share/${PKGBASE}/misc/images/png_modern/Network_(96).png
+share/${PKGBASE}/misc/images/png_modern/Network_adapter_(128).png
+share/${PKGBASE}/misc/images/png_modern/Network_adapter_(24).png
+share/${PKGBASE}/misc/images/png_modern/Network_adapter_(48).png
+share/${PKGBASE}/misc/images/png_modern/Network_adapter_(64).png
+share/${PKGBASE}/misc/images/png_modern/Network_adapter_(96).png
+share/${PKGBASE}/misc/images/png_modern/Notebook_(128).png
+share/${PKGBASE}/misc/images/png_modern/Notebook_(24).png
+share/${PKGBASE}/misc/images/png_modern/Notebook_(48).png
+share/${PKGBASE}/misc/images/png_modern/Notebook_(64).png
+share/${PKGBASE}/misc/images/png_modern/Notebook_(96).png
+share/${PKGBASE}/misc/images/png_modern/PBX_(128).png
+share/${PKGBASE}/misc/images/png_modern/PBX_(24).png
+share/${PKGBASE}/misc/images/png_modern/PBX_(48).png
+share/${PKGBASE}/misc/images/png_modern/PBX_(64).png
+share/${PKGBASE}/misc/images/png_modern/PBX_(96).png
+share/${PKGBASE}/misc/images/png_modern/Phone_(128).png
+share/${PKGBASE}/misc/images/png_modern/Phone_(24).png
+share/${PKGBASE}/misc/images/png_modern/Phone_(48).png
+share/${PKGBASE}/misc/images/png_modern/Phone_(64).png
+share/${PKGBASE}/misc/images/png_modern/Phone_(96).png
+share/${PKGBASE}/misc/images/png_modern/Printer_(128).png
+share/${PKGBASE}/misc/images/png_modern/Printer_(24).png
+share/${PKGBASE}/misc/images/png_modern/Printer_(48).png
+share/${PKGBASE}/misc/images/png_modern/Printer_(64).png
+share/${PKGBASE}/misc/images/png_modern/Printer_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_with_door_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_with_door_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rack_42_with_door_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_1U_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_2U_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_3U_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_4U_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Rackmountable_5U_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Router_(128).png
+share/${PKGBASE}/misc/images/png_modern/Router_(24).png
+share/${PKGBASE}/misc/images/png_modern/Router_(48).png
+share/${PKGBASE}/misc/images/png_modern/Router_(64).png
+share/${PKGBASE}/misc/images/png_modern/Router_(96).png
+share/${PKGBASE}/misc/images/png_modern/Router_symbol_(128).png
+share/${PKGBASE}/misc/images/png_modern/Router_symbol_(24).png
+share/${PKGBASE}/misc/images/png_modern/Router_symbol_(48).png
+share/${PKGBASE}/misc/images/png_modern/Router_symbol_(64).png
+share/${PKGBASE}/misc/images/png_modern/Router_symbol_(96).png
+share/${PKGBASE}/misc/images/png_modern/SAN_(128).png
+share/${PKGBASE}/misc/images/png_modern/SAN_(24).png
+share/${PKGBASE}/misc/images/png_modern/SAN_(48).png
+share/${PKGBASE}/misc/images/png_modern/SAN_(64).png
+share/${PKGBASE}/misc/images/png_modern/SAN_(96).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_(128).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_(24).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_(48).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_(64).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_(96).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_antenna_(128).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_antenna_(24).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_antenna_(48).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_antenna_(64).png
+share/${PKGBASE}/misc/images/png_modern/Satellite_antenna_(96).png
+share/${PKGBASE}/misc/images/png_modern/Server_(128).png
+share/${PKGBASE}/misc/images/png_modern/Server_(24).png
+share/${PKGBASE}/misc/images/png_modern/Server_(48).png
+share/${PKGBASE}/misc/images/png_modern/Server_(64).png
+share/${PKGBASE}/misc/images/png_modern/Server_(96).png
+share/${PKGBASE}/misc/images/png_modern/Switch_(128).png
+share/${PKGBASE}/misc/images/png_modern/Switch_(24).png
+share/${PKGBASE}/misc/images/png_modern/Switch_(48).png
+share/${PKGBASE}/misc/images/png_modern/Switch_(64).png
+share/${PKGBASE}/misc/images/png_modern/Switch_(96).png
+share/${PKGBASE}/misc/images/png_modern/UPS_(128).png
+share/${PKGBASE}/misc/images/png_modern/UPS_(24).png
+share/${PKGBASE}/misc/images/png_modern/UPS_(48).png
+share/${PKGBASE}/misc/images/png_modern/UPS_(64).png
+share/${PKGBASE}/misc/images/png_modern/UPS_(96).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_2D_(24).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_2D_(48).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_3D_(24).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_3D_(48).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/UPS_rackmountable_3D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Video_terminal_(128).png
+share/${PKGBASE}/misc/images/png_modern/Video_terminal_(24).png
+share/${PKGBASE}/misc/images/png_modern/Video_terminal_(48).png
+share/${PKGBASE}/misc/images/png_modern/Video_terminal_(64).png
+share/${PKGBASE}/misc/images/png_modern/Video_terminal_(96).png
+share/${PKGBASE}/misc/images/png_modern/Workstation_(128).png
+share/${PKGBASE}/misc/images/png_modern/Workstation_(24).png
+share/${PKGBASE}/misc/images/png_modern/Workstation_(48).png
+share/${PKGBASE}/misc/images/png_modern/Workstation_(64).png
+share/${PKGBASE}/misc/images/png_modern/Workstation_(96).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_2D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_2D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_2D_(96).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_3D_(128).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_3D_(64).png
+share/${PKGBASE}/misc/images/png_modern/Zabbix_server_3D_(96).png
+share/${PKGBASE}/misc/images/png_to_xml.sh
+share/${PKGBASE}/misc/images/README
+share/${PKGBASE}/misc/snmptrap/snmptrap.sh
+share/${PKGBASE}/misc/snmptrap/zabbix_trap_receiver.pl
+@pkgdir share/${PKGBASE}/externalscripts
+@pkgdir share/${PKGBASE}/alertscripts
+@pkgdir lib/modules
+@pkgdir etc/zabbix_server.conf.d
diff --git a/zabbix60-server/distinfo b/zabbix60-server/distinfo
new file mode 100644
index 0000000000..fabdcb736f
--- /dev/null
+++ b/zabbix60-server/distinfo
@@ -0,0 +1,9 @@
+$NetBSD$
+
+BLAKE2s (zabbix-6.0.0beta1.tar.gz) = 2382034773a2fe5a6f07c7ae50b709f46396b535bdaacbd93939045980be0648
+SHA512 (zabbix-6.0.0beta1.tar.gz) = 400f6a800c0445fa7ce9098fddc6ce4660226a03b58c20207592c124297748833f42028bf12c2677f114754ffdc77988f9a0fc08c58967ddbf0f19f10cb50bdd
+Size (zabbix-6.0.0beta1.tar.gz) = 30606687 bytes
+SHA1 (patch-m4_ax__lib__mysql.m4) = 9786c6bff3d22334263921c201bf241a207a46bc
+SHA1 (patch-m4_libssh.m4) = 8b4ac3964caf94bb0e4939d265dcefc08a07a0df
+SHA1 (patch-src_libs_zbxsysinfo_netbsd_net.c) = 0371a5cafe00d01f293a847105f7c501f443616c
+SHA1 (patch-src_zabbix__server_Makefile.am) = d139b4fedf8f443fbe9966256e98374d5e5cdb67
diff --git a/zabbix60-server/files/smf/manifest.xml b/zabbix60-server/files/smf/manifest.xml
new file mode 100644
index 0000000000..12c84dfe26
--- /dev/null
+++ b/zabbix60-server/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+    <dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/filesystem/local"/>
+    </dependency>
+    <dependency name="network-service" grouping="require_all" restart_on="none" type="service">
+      <service_fmri value="svc:/network/service"/>
+    </dependency>
+    <dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
+      <service_fmri value="svc:/system/system-log"/>
+    </dependency>
+    <method_context>
+        <method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
+    </method_context>
+    <instance name="@SMF_INSTANCES@" enabled="false">
+      <dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
+        <service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_server.conf"/>
+      </dependency>
+      <exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_server -c @PKG_SYSCONFDIR@/zabbix_server.conf" timeout_seconds="0"/>
+      <exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
+      <template>
+        <common_name>
+          <loctext xml:lang="C">Zabbix server</loctext>
+        </common_name>
+      </template>
+    </instance>
+  </service>
+</service_bundle>
diff --git a/zabbix60-server/files/zabbix_server.sh b/zabbix60-server/files/zabbix_server.sh
new file mode 100644
index 0000000000..b33dd6eb70
--- /dev/null
+++ b/zabbix60-server/files/zabbix_server.sh
@@ -0,0 +1,27 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD$
+#
+# Zabbix server daemon
+#
+# REQUIRE: DAEMON
+# PROVIDE: zabbix_server
+
+if [ -f /etc/rc.subr ]; then
+	. /etc/rc.subr
+fi
+
+name="zabbix_server"
+rcvar=${name}
+start_precmd="ulimit -s 10240"
+command="@PREFIX@/sbin/${name}"
+required_files="@PKG_SYSCONFDIR@/${name}.conf"
+
+if [ -f /etc/rc.subr ]; then
+	load_rc_config ${name}
+	run_rc_command "$1"
+else
+	@ECHO@ -n " ${name}"
+	[ "x$1" = "xstart" ] && ulimit -s 10240
+	${command} ${command_args}
+fi
diff --git a/zabbix60-server/options.mk b/zabbix60-server/options.mk
new file mode 100644
index 0000000000..b1efcb4010
--- /dev/null
+++ b/zabbix60-server/options.mk
@@ -0,0 +1,52 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.zabbix54-server
+PKG_SUPPORTED_OPTIONS+=		inet6 ipmi libssh libssh2 snmp
+PKG_OPTIONS_OPTIONAL_GROUPS=	database
+PKG_OPTIONS_GROUP.database=	mysql pgsql
+PKG_SUGGESTED_OPTIONS+=		ipmi libssh2 pgsql snmp
+
+.if empty(MISSING_FEATURES:Minet6)
+PKG_SUGGESTED_OPTIONS+=		inet6
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		pgsql
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+=	--enable-ipv6
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibssh)
+CONFIGURE_ARGS+=	--with-ssh=${BUILDLINK_PREFIX.libssh}
+.include "../../security/libssh/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mlibssh2)
+CONFIGURE_ARGS+=	--with-ssh2=${BUILDLINK_PREFIX.libssh2}
+.include "../../security/libssh2/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mmysql)
+CONFIGURE_ARGS+=	--with-mysql
+.include "../../mk/mysql.buildlink3.mk"
+ZABBIX_DB_TYPE=		mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+CONFIGURE_ARGS+=	--with-net-snmp
+.include "../../net/net-snmp/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+CONFIGURE_ARGS+=	--with-postgresql
+.include "../../mk/pgsql.buildlink3.mk"
+ZABBIX_DB_TYPE=		postgresql
+PLIST.pgsql=		yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mipmi)
+CONFIGURE_ARGS+=	--with-openipmi=${PREFIX}
+.include "../../sysutils/openipmi/buildlink3.mk"
+.endif
diff --git a/zabbix60-server/patches/patch-m4_ax__lib__mysql.m4 b/zabbix60-server/patches/patch-m4_ax__lib__mysql.m4
new file mode 100644
index 0000000000..f550f9a070
--- /dev/null
+++ b/zabbix60-server/patches/patch-m4_ax__lib__mysql.m4
@@ -0,0 +1,15 @@
+$NetBSD: patch-m4_ax__lib__mysql.m4,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Fix bash-ism.
+
+--- m4/ax_lib_mysql.m4.orig	2020-08-24 09:42:55.000000000 +0000
++++ m4/ax_lib_mysql.m4
+@@ -236,7 +236,7 @@ AC_DEFUN([AX_LIB_MYSQL],
+             LDFLAGS="${LDFLAGS} ${MYSQL_LDFLAGS}"
+             LIBS="${LIBS} ${MYSQL_LIBS}"
+             LIBMYSQL_TLS_TRY_LINK([no])
+-            if test "$found_mysql_tls" == "yes"; then
++            if test "$found_mysql_tls" = "yes"; then
+                 LIBMYSQL_TLS_CIPHERS_TRY_LINK([no])
+             else
+                 LIBMARIADB_TLS_TRY_LINK([no])
diff --git a/zabbix60-server/patches/patch-m4_libssh.m4 b/zabbix60-server/patches/patch-m4_libssh.m4
new file mode 100644
index 0000000000..624cceb553
--- /dev/null
+++ b/zabbix60-server/patches/patch-m4_libssh.m4
@@ -0,0 +1,40 @@
+$NetBSD: patch-m4_libssh.m4,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Fix libssh >= 0.9.5 detection.
+
+--- m4/libssh.m4.orig	2020-05-10 17:36:06.000000000 +0000
++++ m4/libssh.m4
+@@ -83,13 +83,19 @@ AC_HELP_STRING([--with-ssh@<:@=DIR@:>@],
+          SSH_LDFLAGS=-L/usr/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([/usr/include/libssh/libssh.h])
++	 fi
+        elif test -f /usr/local/include/libssh/libssh.h; then
+          SSH_CFLAGS=-I/usr/local/include
+          SSH_LDFLAGS=-L/usr/local/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([/usr/local/include/libssh/libssh.h])
++	 fi
+        else #libraries are not found in default directories
+          found_ssh="no"
+          AC_MSG_RESULT(no)
+@@ -100,7 +106,10 @@ AC_HELP_STRING([--with-ssh@<:@=DIR@:>@],
+          SSH_LDFLAGS=-L$_libssh_dir/lib
+          SSH_LIBS="-lssh"
+          found_ssh="yes"
+-	 LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh.h])
++	 LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh_version.h])
++	 if test "x$accept_ssh_version" = "xno"; then
++	    LIBSSH_ACCEPT_VERSION([$_libssh_dir/include/libssh/libssh.h])
++	 fi
+        else #if test -f $_libssh_dir/include/libssh/libssh.h; then
+          found_ssh="no"
+          AC_MSG_RESULT(no)
diff --git a/zabbix60-server/patches/patch-src_libs_zbxsysinfo_netbsd_net.c b/zabbix60-server/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
new file mode 100644
index 0000000000..3ac229d762
--- /dev/null
+++ b/zabbix60-server/patches/patch-src_libs_zbxsysinfo_netbsd_net.c
@@ -0,0 +1,199 @@
+$NetBSD: patch-src_libs_zbxsysinfo_netbsd_net.c,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Rework interface statistics code from using kvm to using sysctl interface.
+
+--- src/libs/zbxsysinfo/netbsd/net.c.orig	2021-10-25 09:49:27.000000000 +0000
++++ src/libs/zbxsysinfo/netbsd/net.c
+@@ -22,6 +22,9 @@
+ #include "zbxjson.h"
+ #include "log.h"
+ 
++#include <net/route.h>
++#include <net/if_dl.h>
++
+ static struct nlist kernel_symbols[] =
+ {
+ 	{"_ifnet", N_UNDF, 0, 0, 0},
+@@ -31,42 +34,91 @@ static struct nlist kernel_symbols[] =
+ 
+ #define IFNET_ID 0
+ 
++static void
++get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info)
++{
++	int i;
++
++	for (i = 0; i < RTAX_MAX; i++) {
++		if (addrs & (1 << i)) {
++			rti_info[i] = sa;
++			sa = (struct sockaddr *)((char *)(sa) +
++					RT_ROUNDUP(sa->sa_len));
++		} else
++			rti_info[i] = NULL;
++	}
++}
++
+ static int	get_ifdata(const char *if_name,
+ 		zbx_uint64_t *ibytes, zbx_uint64_t *ipackets, zbx_uint64_t *ierrors, zbx_uint64_t *idropped,
+ 		zbx_uint64_t *obytes, zbx_uint64_t *opackets, zbx_uint64_t *oerrors,
+ 		zbx_uint64_t *tbytes, zbx_uint64_t *tpackets, zbx_uint64_t *terrors,
+ 		zbx_uint64_t *icollisions, char **error)
+ {
+-	struct ifnet_head	head;
+-	struct ifnet		*ifp;
+-	struct ifnet		v;
++	struct	if_msghdr *ifm;
++	int	mib[6] = { CTL_NET, AF_ROUTE, 0, 0, NET_RT_IFLIST, 0 };
++	char	*buf = NULL;
++	char	*lim, *next;
++	struct	rt_msghdr *rtm;
++	struct	if_data *ifd = NULL;
++	struct	sockaddr *sa, *rti_info[RTAX_MAX];
++	struct	sockaddr_dl *sdl;
++
++	size_t	len = 0;
++	size_t	olen = 0;
++	int		ret = SYSINFO_RET_FAIL;
+ 
+-	kvm_t	*kp;
+-	int	ret = SYSINFO_RET_FAIL;
++	static char name[IFNAMSIZ];
+ 
+ 	if (NULL == if_name || '\0' == *if_name)
+ 	{
+ 		*error = zbx_strdup(NULL, "Network interface name cannot be empty.");
+-		return FAIL;
++		ret = FAIL;
++		goto out;
+ 	}
+ 
+-	if (NULL == (kp = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL))) /* requires root privileges */
+-	{
+-		*error = zbx_strdup(NULL, "Cannot obtain a descriptor to access kernel virtual memory.");
+-		return FAIL;
+-	}
+ 
+-	if (N_UNDF == kernel_symbols[IFNET_ID].n_type)
+-		if (0 != kvm_nlist(kp, &kernel_symbols[0]))
+-			kernel_symbols[IFNET_ID].n_type = N_UNDF;
+-
+-	if (N_UNDF != kernel_symbols[IFNET_ID].n_type)
+-	{
+-		int	len = sizeof(struct ifnet_head);
++	if (sysctl(mib, 6, NULL, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to read network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
+ 
+-		if (kvm_read(kp, kernel_symbols[IFNET_ID].n_value, &head, len) >= len)
+-		{
+-			len = sizeof(struct ifnet);
++	if (len > olen) {
++		free(buf);
++		if ((buf = zbx_malloc(NULL, len)) == NULL) {
++			*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++			ret = FAIL;
++			goto out;
++		}
++		olen = len;
++	}
++	if (sysctl(mib, 6, buf, &len, NULL, 0) == -1) {
++		*error = zbx_strdup(NULL, "Failed to allocate buffer for network interfaces data");
++		ret = FAIL;
++		goto out;
++	}
++
++	lim = buf + len;
++	for (next = buf; next < lim; next += rtm->rtm_msglen) {
++		rtm = (struct rt_msghdr *)next;
++		if ((rtm->rtm_version == RTM_VERSION) &&
++				(rtm->rtm_type == RTM_IFINFO)) {
++			ifm = (struct if_msghdr *)next;
++			ifd = &ifm->ifm_data;
++
++			sa = (struct sockaddr *)(ifm + 1);
++			get_rtaddrs(ifm->ifm_addrs, sa, rti_info);
++
++			sdl = (struct sockaddr_dl *)rti_info[RTAX_IFP];
++			if (sdl == NULL || sdl->sdl_family != AF_LINK) {
++				continue;
++			}
++			bzero(name, sizeof(name));
++			if (sdl->sdl_nlen >= IFNAMSIZ)
++				memcpy(name, sdl->sdl_data, IFNAMSIZ - 1);
++			else if (sdl->sdl_nlen > 0)
++				memcpy(name, sdl->sdl_data, sdl->sdl_nlen);
+ 
+ 			/* if_ibytes;		total number of octets received */
+ 			/* if_ipackets;		packets received on interface */
+@@ -100,42 +152,38 @@ static int	get_ifdata(const char *if_nam
+ 			if (icollisions)
+ 				*icollisions = 0;
+ 
+-			for (ifp = head.tqh_first; ifp; ifp = v.if_list.tqe_next)
++			if (0 == strcmp(if_name, name))
+ 			{
+-				if (kvm_read(kp, (u_long)ifp, &v, len) < len)
+-					break;
+-
+-				if (0 == strcmp(if_name, v.if_xname))
+-				{
+-					if (ibytes)
+-						*ibytes += v.if_ibytes;
+-					if (ipackets)
+-						*ipackets += v.if_ipackets;
+-					if (ierrors)
+-						*ierrors += v.if_ierrors;
+-					if (idropped)
+-						*idropped += v.if_iqdrops;
+-					if (obytes)
+-						*obytes += v.if_obytes;
+-					if (opackets)
+-						*opackets += v.if_opackets;
+-					if (oerrors)
+-						*oerrors += v.if_oerrors;
+-					if (tbytes)
+-						*tbytes += v.if_ibytes + v.if_obytes;
+-					if (tpackets)
+-						*tpackets += v.if_ipackets + v.if_opackets;
+-					if (terrors)
+-						*terrors += v.if_ierrors + v.if_oerrors;
+-					if (icollisions)
+-						*icollisions += v.if_collisions;
+-					ret = SYSINFO_RET_OK;
+-				}
++				if (ibytes)
++					*ibytes += ifd->ifi_ibytes;
++				if (ipackets)
++					*ipackets += ifd->ifi_ipackets;
++				if (ierrors)
++					*ierrors += ifd->ifi_ierrors;
++				if (idropped)
++					*idropped += ifd->ifi_iqdrops;
++				if (obytes)
++					*obytes += ifd->ifi_obytes;
++				if (opackets)
++					*opackets += ifd->ifi_opackets;
++				if (oerrors)
++					*oerrors += ifd->ifi_oerrors;
++				if (tbytes)
++					*tbytes += ifd->ifi_ibytes + ifd->ifi_obytes;
++				if (tpackets)
++					*tpackets += ifd->ifi_ipackets + ifd->ifi_opackets;
++				if (terrors)
++					*terrors += ifd->ifi_ierrors + ifd->ifi_oerrors;
++				if (icollisions)
++					*icollisions += ifd->ifi_collisions;
++				ret = SYSINFO_RET_OK;
++				goto out;
+ 			}
+ 		}
+ 	}
+ 
+-	kvm_close(kp);
++out:
++	free(buf);
+ 
+ 	if (SYSINFO_RET_FAIL == ret)
+ 	{
diff --git a/zabbix60-server/patches/patch-src_zabbix__server_Makefile.am b/zabbix60-server/patches/patch-src_zabbix__server_Makefile.am
new file mode 100644
index 0000000000..080866a847
--- /dev/null
+++ b/zabbix60-server/patches/patch-src_zabbix__server_Makefile.am
@@ -0,0 +1,12 @@
+$NetBSD: patch-src_zabbix__server_Makefile.am,v 1.1 2020/11/03 22:44:43 otis Exp $
+
+Install config file into component's example directory.
+
+--- src/zabbix_server/Makefile.am.orig	2020-08-24 09:42:55.000000000 +0000
++++ src/zabbix_server/Makefile.am
+@@ -121,4 +121,4 @@ install-data-hook:
+ 	$(MKDIR_P) "$(DESTDIR)$(EXTERNAL_SCRIPTS_PATH)"
+ 	$(MKDIR_P) "$(DESTDIR)$(ALERT_SCRIPTS_PATH)"
+ 	$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
+-	test -f "$(DESTDIR)$(SERVER_CONFIG_FILE)" || cp "../../conf/zabbix_server.conf" "$(DESTDIR)$(SERVER_CONFIG_FILE)"
++	$(INSTALL_DATA) "../../conf/zabbix_server.conf" "$(DESTDIR)/${PREFIX}/share/examples/%%PKGBASE%%"


Home | Main Index | Thread Index | Old Index