Skip to content

Commit d47cb16

Browse files
mlzyrobimarko
authored andcommitted
zabbix: Add optional SNMP support for all server/proxy variants
- Add CONFIG_ZABBIX_SNMP menuconfig option to enable SNMP support - Support all zabbix-server and zabbix-proxy variants (nossl, openssl, gnutls) - Add conditional libnetsnmp dependency based on SNMP config - Add --with-net-snmp configure option when SNMP is enabled - Include patch to fix NetSNMP strong auth detection issue This allows users to optionally enable SNMP support for Zabbix server and proxy components through menuconfig, with proper dependency management and build configuration. Signed-off-by: Martin Liu <[email protected]>
1 parent 4845c95 commit d47cb16

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

admin/zabbix/Makefile

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ PKG_BUILD_PARALLEL:=1
2727
PKG_CONFIG_DEPENDS:= \
2828
CONFIG_ZABBIX_MYSQL \
2929
CONFIG_ZABBIX_POSTGRESQL \
30-
CONFIG_ZABBIX_SQLITE
30+
CONFIG_ZABBIX_SQLITE \
31+
CONFIG_ZABBIX_SNMP
3132

3233
include $(INCLUDE_DIR)/package.mk
3334
include $(INCLUDE_DIR)/nls.mk
@@ -48,6 +49,14 @@ choice
4849
config ZABBIX_SQLITE
4950
bool "SQLite"
5051
endchoice
52+
53+
config ZABBIX_SNMP
54+
bool "Enable SNMP support"
55+
depends on PACKAGE_zabbix-server || PACKAGE_zabbix-server-openssl || PACKAGE_zabbix-server-gnutls || PACKAGE_zabbix-proxy || PACKAGE_zabbix-proxy-openssl || PACKAGE_zabbix-proxy-gnutls
56+
default n
57+
help
58+
Enable SNMP support for Zabbix server and proxy.
59+
This requires libnetsnmp package.
5160
endef
5261

5362
define Package/zabbix/Default
@@ -166,6 +175,7 @@ endef
166175
define Package/zabbix-server
167176
$(call Package/zabbix-server/Default)
168177
PROVIDES:=zabbix-server
178+
DEPENDS+= +ZABBIX_SNMP:libnetsnmp
169179
VARIANT:=nossl
170180
DEFAULT_VARIANT:=1
171181
endef
@@ -174,15 +184,15 @@ define Package/zabbix-server-openssl
174184
$(call Package/zabbix-server/Default)
175185
TITLE+= (with OpenSSL)
176186
PROVIDES:=zabbix-server
177-
DEPENDS+= +libopenssl
187+
DEPENDS+= +libopenssl +ZABBIX_SNMP:libnetsnmp
178188
VARIANT:=openssl
179189
endef
180190

181191
define Package/zabbix-server-gnutls
182192
$(call Package/zabbix-server/Default)
183193
TITLE+= (with GnuTLS)
184194
PROVIDES:=zabbix-server
185-
DEPENDS+= +libgnutls
195+
DEPENDS+= +libgnutls +ZABBIX_SNMP:libnetsnmp
186196
VARIANT:=gnutls
187197
endef
188198

@@ -220,6 +230,7 @@ endef
220230
define Package/zabbix-proxy
221231
$(call Package/zabbix-proxy/Default)
222232
PROVIDES:=zabbix-proxy
233+
DEPENDS+= +ZABBIX_SNMP:libnetsnmp
223234
VARIANT:=nossl
224235
DEFAULT_VARIANT:=1
225236
endef
@@ -228,15 +239,15 @@ define Package/zabbix-proxy-openssl
228239
$(call Package/zabbix-proxy/Default)
229240
TITLE+= (with OpenSSL)
230241
PROVIDES:=zabbix-proxy
231-
DEPENDS+= +libopenssl
242+
DEPENDS+= +libopenssl +ZABBIX_SNMP:libnetsnmp
232243
VARIANT:=openssl
233244
endef
234245

235246
define Package/zabbix-proxy-gnutls
236247
$(call Package/zabbix-proxy/Default)
237248
TITLE+= (with GnuTLS)
238249
PROVIDES:=zabbix-proxy
239-
DEPENDS+= +libgnutls
250+
DEPENDS+= +libgnutls +ZABBIX_SNMP:libnetsnmp
240251
VARIANT:=gnutls
241252
endef
242253

@@ -267,6 +278,7 @@ CONFIGURE_ARGS+= \
267278
$(if $(CONFIG_ZABBIX_MYSQL),--with-mysql) \
268279
$(if $(CONFIG_ZABBIX_POSTGRESQL),--with-postgresql) \
269280
$(if $(CONFIG_ZABBIX_SQLITE),--with-sqlite3=$(STAGING_DIR)/usr) \
281+
$(if $(CONFIG_ZABBIX_SNMP),--with-net-snmp) \
270282
--with-libevent=$(STAGING_DIR)/usr/include \
271283
--with-libpcre2=$(STAGING_DIR)/usr/include \
272284
--with-zlib=$(STAGING_DIR)/usr/include
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/m4/netsnmp.m4
2+
+++ b/m4/netsnmp.m4
3+
@@ -168,6 +168,7 @@ AC_DEFUN([LIBNETSNMP_CHECK_CONFIG],[
4+
]], [[
5+
struct snmp_session session;
6+
session.securityAuthProto = usmHMAC384SHA512AuthProtocol;
7+
+return (int)(long)session.securityAuthProto;
8+
]])],[
9+
AC_DEFINE(HAVE_NETSNMP_STRONG_AUTH, 1, [Define to 1 if strong SHA auth protocols are supported.])
10+
AC_MSG_RESULT(yes)
11+

0 commit comments

Comments
 (0)