From 4ba4d8232d4431170faffadfa80fbb0ba76d20f1 Mon Sep 17 00:00:00 2001 From: Jonathan McDowell Date: Wed, 17 Jan 2018 19:34:15 +0000 Subject: [PATCH] utils/collectd: Re-add option to enable encrypted network output The collectd network plugin has the ability to sign and/or encrypt its traffic, allowing secure interaction with other collectd instances. This had been disabled due to issues with the collectd build system. Fix up the configure parameters to work correctly and re-add the option. Signed-off-by: Jonathan McDowell --- utils/collectd/Makefile | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 20d5d5ea9..f31acf555 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd PKG_VERSION:=5.8.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ @@ -203,6 +203,14 @@ define Package/collectd/description and provides mechanismns to store the values in a variety of ways. endef +define Package/collectd/config + config PACKAGE_COLLECTD_ENCRYPTED_NETWORK + bool "Enable ability to use encrypted networking" + default n + depends on PACKAGE_collectd + select PACKAGE_collectd-mod-network +endef + ifneq ($(CONFIG_avr32),) TARGET_CFLAGS += -fsigned-char endif @@ -214,7 +222,6 @@ CONFIGURE_ARGS+= \ --enable-daemon \ --with-nan-emulation \ --with-libyajl=no \ - --without-libgcrypt \ --without-perl-bindings \ --without-libudev @@ -223,6 +230,16 @@ CONFIGURE_VARS+= \ LDFLAGS="$$$$LDFLAGS -lm -lz" \ KERNEL_DIR="$(LINUX_DIR)" \ +ifneq ($(CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK),) +CONFIGURE_ARGS+= \ + --with-libgcrypt=$(STAGING_DIR)/usr +CONFIGURE_VARS+= \ + GCRYPT_LIBS="-lgcrypt" +else +CONFIGURE_ARGS+= \ + --without-libgcrypt +endif + CONFIGURE_PLUGIN= \ $(foreach m, $(1), \ $(if $(CONFIG_PACKAGE_collectd-mod-$(subst _,-,$(m))),--enable-$(m),--disable-$(m)) \ @@ -353,7 +370,7 @@ $(eval $(call BuildPlugin,match-value,value match,match_value,)) $(eval $(call BuildPlugin,memory,physical memory usage input,memory,)) $(eval $(call BuildPlugin,modbus,read variables through libmodbus,modbus,+PACKAGE_collectd-mod-modbus:libmodbus)) $(eval $(call BuildPlugin,netlink,netlink input,netlink,+PACKAGE_collectd-mod-netlink:libmnl)) -$(eval $(call BuildPlugin,network,network input/output,network,)) +$(eval $(call BuildPlugin,network,network input/output,network,+PACKAGE_COLLECTD_ENCRYPTED_NETWORK:libgcrypt)) $(eval $(call BuildPlugin,nginx,nginx status input,nginx,+PACKAGE_collectd-mod-nginx:libcurl)) $(eval $(call BuildPlugin,ntpd,NTP daemon status input,ntpd,)) $(eval $(call BuildPlugin,nut,UPS monitoring input,nut,+PACKAGE_collectd-mod-nut:nut-common))