From efe625518667190af3e22334cff797c0757315e6 Mon Sep 17 00:00:00 2001 From: Terry Stockert Date: Thu, 23 Mar 2017 17:26:44 -0500 Subject: [PATCH] dnscrypt-proxy: add optional plugins The init script already supports four plugins: dns cache, dns/ip blocking, ipv6 blocking and dns logging. If enabled this option installs these four plugins and also adds libldns as a dependency. If enabled the total size increase is around 125 kB. Signed-off-by: Terry Stockert --- net/dnscrypt-proxy/Config.in | 8 ++++++++ net/dnscrypt-proxy/Makefile | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100755 net/dnscrypt-proxy/Config.in diff --git a/net/dnscrypt-proxy/Config.in b/net/dnscrypt-proxy/Config.in new file mode 100755 index 000000000..50d09af40 --- /dev/null +++ b/net/dnscrypt-proxy/Config.in @@ -0,0 +1,8 @@ +menu "Configuration" + depends on PACKAGE_dnscrypt-proxy + +config DNSCRYPT_ENABLE_PLUGINS + bool "Enable plugin support (includes libldns and plugins, increases size by 125kB)" + default n + +endmenu diff --git a/net/dnscrypt-proxy/Makefile b/net/dnscrypt-proxy/Makefile index 30353d76f..4c4a1f785 100644 --- a/net/dnscrypt-proxy/Makefile +++ b/net/dnscrypt-proxy/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dnscrypt-proxy PKG_VERSION:=1.9.4 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://download.dnscrypt.org/dnscrypt-proxy @@ -21,6 +21,8 @@ PKG_INSTALL:=1 PKG_MAINTAINER:=Damiano Renfer PKG_LICENSE:=ISC +PKG_CONFIG_DEPENDS:= \ + CONFIG_DNSCRYPT_ENABLE_PLUGINS include $(INCLUDE_DIR)/package.mk @@ -34,7 +36,8 @@ endef define Package/dnscrypt-proxy $(call Package/dnscrypt-proxy/Default) - DEPENDS:=+libsodium +dnscrypt-proxy-resolvers + DEPENDS:=+libsodium +dnscrypt-proxy-resolvers +DNSCRYPT_ENABLE_PLUGINS:libltdl \ + +DNSCRYPT_ENABLE_PLUGINS:libldns TITLE:=A tool for securing communications between a client and a DNS resolver endef @@ -68,11 +71,15 @@ define Package/hostip/description to IPv4 or IPv6 addresses. endef +define Package/dnscrypt-proxy/config + source "$(SOURCE)/Config.in" +endef + define Build/Configure $(call Build/Configure/Default, \ --prefix=/usr \ --disable-ssp \ - --disable-plugins \ + $(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS),,--disable-plugins) \ ) endef @@ -95,6 +102,12 @@ define Package/dnscrypt-proxy/install $(INSTALL_BIN) ./files/dnscrypt-proxy.init $(1)/etc/init.d/dnscrypt-proxy $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/dnscrypt-proxy.config $(1)/etc/config/dnscrypt-proxy + $(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS), \ + $(INSTALL_DIR) $(1)/usr/lib/dnscrypt-proxy; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_cache.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_aaaa_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_logging.so $(1)/usr/lib/dnscrypt-proxy/) endef define Package/dnscrypt-proxy-resolvers/install