TITLE:=Remote configuration management agent ($(2) variant)
CATEGORY:=Administration
SECTION:=admin
- SUBMENU:=openwisp
+ SUBMENU:=OpenWISP
DEPENDS:=+curl +lua +libuci-lua +luafilesystem $(3)
VARIANT:=$(1)
MAINTAINER:=Federico Capoano <f.capoano@cineca.it>
define Package/zabbix/Default
SECTION:=admin
CATEGORY:=Administration
- SUBMENU:=zabbix
+ SUBMENU:=Zabbix
TITLE:=Zabbix
URL:=https://www.zabbix.com/
USERID:=zabbix=53:zabbix=53
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd.git
-PKG_SOURCE_DATE:=2019-07-12
-PKG_SOURCE_VERSION:=f2cfe8cb40493a5f77144543bc486bfdb8aa61e2
-PKG_MIRROR_HASH:=fd6a3bec5953fa30b87a6e12e2c6666844ad66096afa7de421689f5769626a36
+PKG_SOURCE_DATE:=2019-07-17
+PKG_SOURCE_VERSION:=0c3049e84fc7737cedbcef3e1791a570871168cd
+PKG_MIRROR_HASH:=2717cb1e3d28e7ff5ea69c3fa2a6ae182b70bcdf8680a41a0df2b190b072d04b
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=MarkupSafe
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/M/MarkupSafe
PKG_HASH:=29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b
-PKG_BUILD_DEPENDS:=python python3
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=LICENSE
+
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE.rst
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
-PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- URL:=https://github.com/pallets/markupsafe/
- TITLE:=python3-markupsafe
+ TITLE:=MarkupSafe
+ URL:=https://palletsprojects.com/p/markupsafe/
DEPENDS:=+python3-light
VARIANT:=python3
endef
define Package/python3-markupsafe/description
-MarkupSafe implements a XML/HTML/XHTML Markup safe string for Python
+ MarkupSafe implements a text object that escapes characters so it is safe to use in HTML and XML.
endef
$(eval $(call Py3Package,python3-markupsafe))
$(eval $(call BuildPackage,python3-markupsafe))
+$(eval $(call BuildPackage,python3-markupsafe-src))
PKG_NAME:=python-egenix-mx-base
PKG_VERSION:=3.2.9
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=egenix-mx-base-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.egenix.com/python
PKG_BUILD_DIR:=$(BUILD_DIR)/egenix-mx-base-$(PKG_VERSION)
PKG_MAINTAINER:=Dmitry Trefilov <the-alien@live.ru>
-PKG_LICENSE:=eGenix.com
+PKG_LICENSE:=eGenix
PKG_LICENSE_FILES:=LICENSE COPYRIGHT
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
define Package/python-egenix-mx-base
- SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- DEPENDS:=+python
TITLE:=Egenix mxBase
+ SUBMENU:=Python
URL:=https://www.egenix.com/products/python/mxBase/
+ DEPENDS:=+python-light
+ VARIANT:=python
endef
define Package/python-egenix-mx-base/description
date/time processing and high speed data types.
endef
-define Build/Compile
- $(call Build/Compile/PyMod,,install --prefix="$(PKG_INSTALL_DIR)/usr")
-endef
-
-define PyPackage/python-egenix-mx-base/install
- $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
- $(CP) \
- $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
- $(1)$(PYTHON_PKG_DIR)
-endef
+PYTHON_PKG_SETUP_ARGS:=
$(eval $(call PyPackage,python-egenix-mx-base))
$(eval $(call BuildPackage,python-egenix-mx-base))
+$(eval $(call BuildPackage,python-egenix-mx-base-src))
CATEGORY:=Libraries
TITLE:=Elektra
URL:=http://www.libelektra.org/
- SUBMENU:=libelektra
+ SUBMENU:=LibElektra
endef
define Package/libelektra/Default-description
include $(TOPDIR)/rules.mk
PKG_NAME:=expat
-PKG_VERSION:=2.2.6
+PKG_VERSION:=2.2.7
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/expat
-PKG_HASH:=17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2
-PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>, \
- Ted Hess <thess@kitschensync.net>
+PKG_HASH:=30e3f40acf9a8fdbd5c379bdcc8d1178a1d9af306de29fc8ece922bc4c57bef8
+PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:libexpat:expat
PKG_FIXUP:=autoreconf
-
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_NAME:=intltool
PKG_VERSION:=0.51.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://launchpad.net/intltool/trunk/$(PKG_VERSION)/+download
PKG_HASH:=67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
+
+HOST_BUILD_DEPENDS:=perl/host
PKG_HOST_ONLY:=1
HOST_FIXUP:=autoreconf
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
+HOST_CONFIGURE_VARS+= \
+ PATH=$(STAGING_DIR_HOSTPKG)/bin:$(STAGING_DIR_HOSTPKG)/usr/bin:$(PATH)
+
define Package/intltool
SECTION:=libs
CATEGORY:=Libraries
PKG_NAME:=libxslt
PKG_VERSION:=1.1.33
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
--- /dev/null
+From c5eb6cf3aba0af048596106ed839b4ae17ecbcb1 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Sat, 27 Apr 2019 11:19:48 +0200
+Subject: [PATCH] Fix uninitialized read of xsl:number token
+
+Found by OSS-Fuzz.
+---
+ libxslt/numbers.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/libxslt/numbers.c b/libxslt/numbers.c
+index 89e1f668..75c31eba 100644
+--- a/libxslt/numbers.c
++++ b/libxslt/numbers.c
+@@ -382,7 +382,10 @@ xsltNumberFormatTokenize(const xmlChar *format,
+ tokens->tokens[tokens->nTokens].token = val - 1;
+ ix += len;
+ val = xmlStringCurrentChar(NULL, format+ix, &len);
+- }
++ } else {
++ tokens->tokens[tokens->nTokens].token = (xmlChar)'0';
++ tokens->tokens[tokens->nTokens].width = 1;
++ }
+ } else if ( (val == (xmlChar)'A') ||
+ (val == (xmlChar)'a') ||
+ (val == (xmlChar)'I') ||
+--
+2.21.0
+
--- /dev/null
+From 6ce8de69330783977dd14f6569419489875fb71b Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 3 Jun 2019 13:14:45 +0200
+Subject: [PATCH] Fix uninitialized read with UTF-8 grouping chars
+
+The character type in xsltFormatNumberConversion was too narrow and
+an invalid character/length combination could be passed to
+xsltNumberFormatDecimal, resulting in an uninitialized read.
+
+Found by OSS-Fuzz.
+---
+ libxslt/numbers.c | 5 +++--
+ tests/docs/bug-222.xml | 1 +
+ tests/general/bug-222.out | 2 ++
+ tests/general/bug-222.xsl | 6 ++++++
+ 4 files changed, 12 insertions(+), 2 deletions(-)
+ create mode 100644 tests/docs/bug-222.xml
+ create mode 100644 tests/general/bug-222.out
+ create mode 100644 tests/general/bug-222.xsl
+
+diff --git a/libxslt/numbers.c b/libxslt/numbers.c
+index f1ed8846..20b99d5a 100644
+--- a/libxslt/numbers.c
++++ b/libxslt/numbers.c
+@@ -1298,13 +1298,14 @@ OUTPUT_NUMBER:
+ number = floor((scale * number + 0.5)) / scale;
+ if ((self->grouping != NULL) &&
+ (self->grouping[0] != 0)) {
++ int gchar;
+
+ len = xmlStrlen(self->grouping);
+- pchar = xsltGetUTF8Char(self->grouping, &len);
++ gchar = xsltGetUTF8Char(self->grouping, &len);
+ xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
+ format_info.integer_digits,
+ format_info.group,
+- pchar, len);
++ gchar, len);
+ } else
+ xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
+ format_info.integer_digits,
+diff --git a/tests/docs/bug-222.xml b/tests/docs/bug-222.xml
+new file mode 100644
+index 00000000..69d62f2c
+--- /dev/null
++++ b/tests/docs/bug-222.xml
+@@ -0,0 +1 @@
++<doc/>
+diff --git a/tests/general/bug-222.out b/tests/general/bug-222.out
+new file mode 100644
+index 00000000..e3139698
+--- /dev/null
++++ b/tests/general/bug-222.out
+@@ -0,0 +1,2 @@
++<?xml version="1.0"?>
++1⠢0
+diff --git a/tests/general/bug-222.xsl b/tests/general/bug-222.xsl
+new file mode 100644
+index 00000000..e32dc473
+--- /dev/null
++++ b/tests/general/bug-222.xsl
+@@ -0,0 +1,6 @@
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++ <xsl:decimal-format name="f" grouping-separator="⠢"/>
++ <xsl:template match="/">
++ <xsl:value-of select="format-number(10,'#⠢0','f')"/>
++ </xsl:template>
++</xsl:stylesheet>
+--
+2.21.0
+
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lmdb
+PKG_VERSION:=0.9.23
+PKG_RELEASE:=1
+
+PKG_SOURCE:=LMDB_$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/LMDB/lmdb/tar.gz/LMDB_$(PKG_VERSION)?
+PKG_HASH:=abf42e91f046787ed642d9eb21812a5c473f3ba5854124484d16eadbe0aa9c81
+PKG_BUILD_DIR:=$(BUILD_DIR)/lmdb-LMDB_$(PKG_VERSION)
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=OLDAP-2.8
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+MAKE_PATH:=libraries/liblmdb
+
+define Package/lmdb/Default
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Lightning Memory-Mapped Database
+ URL:=https://symas.com/lmdb/
+endef
+
+define Package/lmdb
+ $(call Package/lmdb/Default)
+ TITLE+= shared library
+endef
+
+define Package/lmdb/description
+ LMDB is an ultra-fast, ultra-compact key-value
+ embedded data store developed for the OpenLDAP Project.
+endef
+
+define Package/lmdb-utils
+ $(call Package/lmdb/Default)
+ TITLE+= utils
+ MDEPENDS+= lmdb
+endef
+
+define Package/lmdb-utils/description
+ LMDB environment status and copy tool
+endef
+
+define Package/lmdb-test
+ $(call Package/lmdb/Default)
+ TITLE+= test
+ MDEPENDS+= lmdb
+endef
+
+define Package/lmdb-test/description
+ LMDB test application
+endef
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ $(SED) 's,%%PKG_VERSION%%,$(PKG_VERSION),g' $(PKG_BUILD_DIR)/liblmdb.pc
+endef
+
+define Build/Compile
+ $(MAKE) -C "$(PKG_BUILD_DIR)/$(MAKE_PATH)/" \
+ CC="$(TARGET_CC)" \
+ CFLAGS+="$(TARGET_CFLAGS)" \
+ LDFLAGS+="$(TARGET_LDFLAGS)" \
+ FPIC="$(FPIC)"
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_BUILD_DIR)/$(MAKE_PATH)/lmdb.h $(1)/usr/include
+ $(CP) $(PKG_BUILD_DIR)/$(MAKE_PATH)/liblmdb.{a,so} $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
+ $(CP) $(PKG_BUILD_DIR)/liblmdb.pc $(1)/usr/lib/pkgconfig/lmdb.pc
+endef
+
+define Package/lmdb/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/*.so $(1)/usr/lib
+endef
+
+define Package/lmdb-utils/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/bin/mdb_{stat,copy,dump,load} $(1)/usr/bin
+endef
+
+define Package/lmdb-test/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(MAKE_PATH)/mtest $(1)/usr/bin
+endef
+
+$(eval $(call BuildPackage,lmdb))
+$(eval $(call BuildPackage,lmdb-utils))
+$(eval $(call BuildPackage,lmdb-test))
--- /dev/null
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -34,6 +34,7 @@ libdir = $(exec_prefix)/lib
+ includedir = $(prefix)/include
+ datarootdir = $(prefix)/share
+ mandir = $(datarootdir)/man
++FPIC ?= -fPIC
+
+ ########################################################################
+
+@@ -86,10 +87,10 @@ midl.o: midl.c midl.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c midl.c
+
+ mdb.lo: mdb.c lmdb.h midl.h
+- $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c mdb.c -o $@
++ $(CC) $(CFLAGS) $(FPIC) $(CPPFLAGS) -c mdb.c -o $@
+
+ midl.lo: midl.c midl.h
+- $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c midl.c -o $@
++ $(CC) $(CFLAGS) $(FPIC) $(CPPFLAGS) -c midl.c -o $@
+
+ %: %.o
+ $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
--- /dev/null
+prefix=/usr
+exec_prefix=/usr
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+
+Name: Lightning Memory-Mapped Database
+Description: Lightning Memory-Mapped Database
+Version: %%PKG_VERSION%%
+Requires:
+Libs: -L${libdir} -llmdb
+Cflags: -I${includedir}
PKG_INSTALL:=1
+PKG_CONFIG_DEPENDS := CONFIG_PACKAGE_libpcrecpp
+
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
SECTION:=libs
CATEGORY:=Libraries
URL:=https://www.pcre.org/
- DEPENDS:=$(CXX_DEPENDS)
endef
define Package/libpcre
define Package/libpcrecpp
$(call Package/libpcre/default)
TITLE:=C++ wrapper for Perl Compatible Regular Expression library
- DEPENDS:=+libpcre
+ DEPENDS:=+libpcre $(CXX_DEPENDS)
endef
TARGET_CFLAGS += $(FPIC)
--enable-unicode-properties \
--enable-pcre16 \
--with-match-limit-recursion=16000 \
- --enable-cpp
-
+ $(if $(CONFIG_PACKAGE_libpcrecpp),--enable,--disable)-cpp
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)"
DEPENDS:=+libpthread
TITLE:=PostgreSQL client library
URL:=http://www.postgresql.org/
- SUBMENU:=database
+ SUBMENU:=Database
endef
define Package/libpq/description
DEPENDS:=+libncursesw +libpq +libreadline +librt +zlib
TITLE:=Command Line Interface (CLI) to PostgreSQL databases
URL:=http://www.postgresql.org/
- SUBMENU:=database
+ SUBMENU:=Database
endef
define Package/pgsql-cli/description
DEPENDS:=+libncursesw +libpq +libreadline +librt +zlib
TITLE:=Command Line extras for PostgreSQL databases
URL:=http://www.postgresql.org/
- SUBMENU:=database
+ SUBMENU:=Database
endef
define Package/pgsql-cli-extra/description
DEPENDS:=+pgsql-cli
TITLE:=PostgreSQL databases Server
URL:=http://www.postgresql.org/
- SUBMENU:=database
+ SUBMENU:=Database
USERID:=postgres=5432:postgres=5432
endef
--with-libpq=$(STAGING_DIR)/usr
define Package/psqlodbc/Default
- SUBMENU:=database
+ SUBMENU:=Database
URL:=https://odbc.postgresql.org/
SECTION:=libs
CATEGORY:=Libraries
include $(INCLUDE_DIR)/package.mk
define Package/sqlite3/Default
- SUBMENU:=database
+ SUBMENU:=Database
TITLE:=SQLite (v3.x) database engine
URL:=http://www.sqlite.org/
MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
include $(INCLUDE_DIR)/version.mk
define Package/tdb
- SUBMENU:=database
+ SUBMENU:=Database
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Trivial Database
--includedir=$(STAGING_DIR)/usr/include
define Package/unixodbc/Default
- SUBMENU:=database
+ SUBMENU:=Database
TITLE:=unixODBC
URL:=http://www.unixodbc.org
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=zeromq
-PKG_VERSION:=4.1.6
-PKG_RELEASE:=2
+PKG_VERSION:=4.1.7
+PKG_RELEASE:=1
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=LICENCE.txt
+PKG_CPE_ID:=cpe:/a:zeromq:libzmq
+
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/zeromq/zeromq4-1/releases/download/v$(PKG_VERSION)
-PKG_HASH:=02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a
+PKG_HASH:=31c383cfcd3be1dc8a66e448c403029e793687e70473b89c4cc0bd626e7da299
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_NAME:=opendkim
PKG_VERSION:=2.10.3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
--- /dev/null
+--- a/libopendkim/dkim-dns.c
++++ b/libopendkim/dkim-dns.c
+@@ -163,6 +163,9 @@ int
+ dkim_res_query(void *srv, int type, unsigned char *query, unsigned char *buf,
+ size_t buflen, void **qh)
+ {
++#ifdef __UCLIBC__
++ return DKIM_DNS_ERROR;
++#else
+ int n;
+ int ret;
+ struct dkim_res_qh *rq;
+@@ -209,6 +212,7 @@ dkim_res_query(void *srv, int type, unsigned char *query, unsigned char *buf,
+ *qh = (void *) rq;
+
+ return DKIM_DNS_SUCCESS;
++#endif // __UCLIBC__
+ }
+
+ /*
DEPENDS += +libnl-core +libnl-genl +zlib
TITLE:=WLAN tools (without airmon-ng) for breaking 802.11 WEP/WPA keys
URL:=https://www.aircrack-ng.org/
- SUBMENU:=wireless
+ SUBMENU:=Wireless
endef
define Package/aircrack-ng/description
DEPENDS:=+wireless-tools +ethtool +procps-ng +CONFIG_PCI_SUPPORT:pciutils +CONFIG_USB_SUPPORT:usbutils
TITLE:=Bash script designed to turn wireless cards into monitor mode.
URL:=http://www.aircrack-ng.org/
- SUBMENU:=wireless
+ SUBMENU:=Wireless
endef
define Package/airmon-ng/description
include $(TOPDIR)/rules.mk
PKG_NAME:=cifsd-tools
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd-tools.git
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
-PKG_REMOVE_FILES:=autogen.sh aclocal.m4
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_REMOVE_FILES:=autogen.sh
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/cifsd-tools/conffiles
/etc/config/cifsd
-/etc/cifs/smb.conf.template
+/etc/cifs/smb.conf.template
/etc/cifs/smb.conf
/etc/cifs/cifsdpwd.db
-endef
+endef
$(eval $(call BuildPackage,cifsd-tools))
config_get CIFSD_IFACE $1 interface "lan"
# resolve interfaces
- local interfaces=$(
+ local interfaces
+ interfaces=$(
. /lib/functions/network.sh
local net
)
local workgroup description
- local hostname="$(cat /proc/sys/kernel/hostname)"
+ local hostname
+ hostname="$(cat /proc/sys/kernel/hostname)"
config_get workgroup $1 workgroup "WORKGROUP"
config_get description $1 description "Cifsd on OpenWrt"
/etc/cifs/smb.conf.template > /var/etc/cifs/smb.conf
[ -e /etc/cifs/smb.conf ] || ln -nsf /var/etc/cifs/smb.conf /etc/cifs/smb.conf
-
+
if [ ! -L /etc/cifs/smb.conf ]; then
logger -t 'cifsd' "Local custom /etc/cifs/smb.conf file detected, all UCI/Luci config settings are ignored!"
fi
config_get_bool hide_dot_files $1 hide_dot_files 0
config_get veto_files $1 veto_files
- [ -z "$name" -o -z "$path" ] && return
+ [ -z "$name" ] || [ -z "$path" ] && return
- echo -e "\n[$name]\n\tpath = $path" >> /var/etc/cifs/smb.conf
- [ -n "$comment" ] && echo -e "\tcomment = $comment" >> /var/etc/cifs/smb.conf
-
- if [ "$force_root" -eq 1 ]; then
- echo -e "\tforce user = root" >> /var/etc/cifs/smb.conf
- echo -e "\tforce group = root" >> /var/etc/cifs/smb.conf
- else
- [ -n "$users" ] && echo -e "\tvalid users = $users" >> /var/etc/cifs/smb.conf
- fi
+ {
+ printf "\n[%s]\n\tpath = %s\n" "$name" "$path"
+ [ -n "$comment" ] && printf "\tcomment = %s\n" "$comment"
+
+ if [ "$force_root" -eq 1 ]; then
+ printf "\tforce user = %s\n" "root"
+ printf "\tforce group = %s\n" "root"
+ else
+ [ -n "$users" ] && printf "\tvalid users = %s\n" "$users"
+ fi
- [ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" >> /var/etc/cifs/smb.conf
- [ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" >> /var/etc/cifs/smb.conf
+ [ -n "$create_mask" ] && printf "\tcreate mask = %s\n" "$create_mask"
+ [ -n "$dir_mask" ] && printf "\tdirectory mask = %s\n" "$dir_mask"
- [ -n "$browseable" ] && echo -e "\tbrowseable = $browseable" >> /var/etc/cifs/smb.conf
- [ -n "$read_only" ] && echo -e "\tread only = $read_only" >> /var/etc/cifs/smb.conf
- [ -n "$writeable" ] && echo -e "\twriteable = $writeable" >> /var/etc/cifs/smb.conf
- [ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" >> /var/etc/cifs/smb.conf
+ [ -n "$browseable" ] && printf "\tbrowseable = %s\n" "$browseable"
+ [ -n "$read_only" ] && printf "\tread only = %s\n" "$read_only"
+ [ -n "$writeable" ] && printf "\twriteable = %s\n" "$writeable"
+ [ -n "$guest_ok" ] && printf "\tguest ok = %s\n" "$guest_ok"
- [ -n "$write_list" ] && echo -e "\twrite list = $write_list" >> /var/etc/cifs/smb.conf
- [ -n "$read_list" ] && echo -e "\tread list = $read_list" >> /var/etc/cifs/smb.conf
+ [ -n "$write_list" ] && printf "\twrite list = %s\n" "$write_list"
+ [ -n "$read_list" ] && printf "\tread list = %s\n" "$read_list"
- [ "$hide_dot_files" -eq 1 ] && echo -e "\thide dot files = yes" >> /var/etc/cifs/smb.conf
- [ -n "$veto_files" ] && echo -e "\tveto files = $veto_files" >> /var/etc/cifs/smb.conf
+ [ "$hide_dot_files" -eq 1 ] && printf "\thide dot files = %s\n" "yes"
+ [ -n "$veto_files" ] && printf "\tveto files = %s\n" "$veto_files"
+ } >> /var/etc/cifs/smb.conf
}
init_config()
service_triggers()
{
PROCD_RELOAD_DELAY=2000
-
+
procd_add_reload_trigger "dhcp" "system" "cifsd"
-
+
local i
for i in $CIFSD_IFACE; do
procd_add_reload_interface_trigger $i
start_service()
{
init_config
-
+
if [ ! -e /etc/cifs/smb.conf ]; then
logger -t 'cifsd' "missing config /etc/cifs/smb.conf, needs to-be created manually!"
exit 1
fi
[ -f /tmp/cifsd.lock ] && rm /tmp/cifsd.lock
-
+
# try remove again before start
- if (lsmod | grep cifsd &>/dev/null); then
- rmmod cifsd &>/dev/null
- fi
- modprobe cifsd 2>/dev/null
- if ! (lsmod | grep cifsd &>/dev/null); then
- logger -t 'cifsd' "modprobe of cifsd module failed, cant start cifsd!"
+ [ -e /sys/module/cifsd ] && rmmod cifsd > /dev/null 2>&1
+
+ modprobe cifsd 2> /dev/null
+ if [ ! -e /sys/module/cifsd ]; then
+ logger -t 'cifsd' "modprobe of cifsd module failed, can\'t start cifsd!"
exit 1
fi
define Package/dynapoint
SECTION:=net
CATEGORY:=Network
- SUBMENU:=wireless
+ SUBMENU:=Wireless
DEPENDS:=+lua +libubus-lua +libuci-lua +libubox-lua +luci-lib-nixio
TITLE:=Dynamic access point manager
PKGARCH:=all
PKG_NAME:=fastd
PKG_VERSION:=18
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
--- /dev/null
+From 9710132c04cd378bd36f16a2a3d98d9c4c5fdbac Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Thu, 25 Jul 2019 18:51:25 +0200
+Subject: [PATCH] resolve: fix segmentation fault with musl >1.1.20
+
+When compiled with musl >1.1.20, fastd will crash in case it can't
+resolve a peers hostname. This is due to a changed implementation of
+freeaddrinfo in musl 1.1.21 onwards.
+
+This segfault is fixed by not calling freeaddrinfo in case the supplied
+pointer is null.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ src/resolve.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/resolve.c b/src/resolve.c
+index 9bdfa1c..bfd2a59 100644
+--- a/src/resolve.c
++++ b/src/resolve.c
+@@ -104,7 +104,9 @@ static void * resolve_peer(void *varg) {
+
+ fastd_async_enqueue(ASYNC_TYPE_RESOLVE_RETURN, ret, sizeof(fastd_async_resolve_return_t) + n_addr*sizeof(fastd_peer_address_t));
+
+- freeaddrinfo(res);
++ if (res)
++ freeaddrinfo(res);
++
+ free(arg->hostname);
+ free(arg);
+
+--
+2.20.1
+
include $(TOPDIR)/rules.mk
PKG_NAME:=haproxy
-PKG_VERSION:=2.0.1
+PKG_VERSION:=2.0.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.haproxy.org/download/2.0/src
-PKG_HASH:=9975c475ba6f19aac4b665d8705f7b9f7911df7fc316ba7b9efd6fe263181eb1
+PKG_HASH:=aac1ff3e5079997985b6560f46bf265447d0cd841f11c4d77f15942c9fe4b770
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
-#!/bin/bash
+#!/bin/sh
-CLONEURL=http://git.haproxy.org/git/haproxy-2.0.git
-BASE_TAG=v2.0.1
+CLONEURL=https://git.haproxy.org/git/haproxy-2.0.git
+BASE_TAG=v2.0.3
TMP_REPODIR=tmprepo
PATCHESDIR=patches
i=0
for cid in $(git -C "${TMP_REPODIR}" rev-list ${BASE_TAG}..HEAD | tac); do
filename="$(printf "%03d" $i)-$(git -C "${TMP_REPODIR}" log --format=%s -n 1 $cid | sed -e"s/[()']//g" -e's/[^_a-zA-Z0-9+-]\+/-/g' -e's/-$//').patch"
- printf "Creating ${filename}\n"
- git -C "${TMP_REPODIR}" show $cid > "${PATCHESDIR}/$filename"
+ printf "Creating %s\n" "${filename}"
+ git -C "${TMP_REPODIR}" show "$cid" > "${PATCHESDIR}/$filename"
git add "${PATCHESDIR}/$filename"
- let i++
+ i=$((i+1))
done
rm -rf "${TMP_REPODIR}"
+++ /dev/null
-commit 1bd140ea3fab97ccd37adf9d0c106d52af9e53fa
-Author: William Lallemand <wlallemand@haproxy.com>
-Date: Mon Jul 1 10:56:15 2019 +0200
-
- BUG/MINOR: mworker/cli: don't output a \n before the response
-
- When using a level lower than admin on the master CLI, a \n is output
- before the response, this is caused by the response of the "operator" or
- "user" that are sent before the actual command.
-
- To fix this problem we introduce the flag APPCTX_CLI_ST1_NOLF which ask
- a command response to not be followed by the final \n.
- This patch made a special case with the command operator and user
- followed by a - so they are not followed by \n.
-
- This patch must be backported to 2.0 and 1.9.
-
- (cherry picked from commit ad03288e6b28d816abb443cf8c6d984a72bb91a6)
- Signed-off-by: William Lallemand <wlallemand@haproxy.org>
-
-diff --git a/include/types/applet.h b/include/types/applet.h
-index c9e02d17..1f3a4983 100644
---- a/include/types/applet.h
-+++ b/include/types/applet.h
-@@ -50,6 +50,7 @@ struct applet {
-
- #define APPCTX_CLI_ST1_PROMPT (1 << 0)
- #define APPCTX_CLI_ST1_PAYLOAD (1 << 1)
-+#define APPCTX_CLI_ST1_NOLF (1 << 2)
-
- /* Context of a running applet. */
- struct appctx {
-diff --git a/src/cli.c b/src/cli.c
-index 44ddc7bf..9a9f80f9 100644
---- a/src/cli.c
-+++ b/src/cli.c
-@@ -821,7 +821,7 @@ static void cli_io_handler(struct appctx *appctx)
- prompt = "\n> ";
- }
- else {
-- if (!(appctx->st1 & APPCTX_CLI_ST1_PAYLOAD))
-+ if (!(appctx->st1 & (APPCTX_CLI_ST1_PAYLOAD|APPCTX_CLI_ST1_NOLF)))
- prompt = "\n";
- }
-
-@@ -848,6 +848,8 @@ static void cli_io_handler(struct appctx *appctx)
-
- /* switch state back to GETREQ to read next requests */
- appctx->st0 = CLI_ST_GETREQ;
-+ /* reactivate the \n at the end of the response for the next command */
-+ appctx->st1 &= ~APPCTX_CLI_ST1_NOLF;
- }
- }
-
-@@ -1442,6 +1444,10 @@ static int cli_parse_show_lvl(char **args, char *payload, struct appctx *appctx,
- /* parse and set the CLI level dynamically */
- static int cli_parse_set_lvl(char **args, char *payload, struct appctx *appctx, void *private)
- {
-+ /* this will ask the applet to not output a \n after the command */
-+ if (!strcmp(args[1], "-"))
-+ appctx->st1 |= APPCTX_CLI_ST1_NOLF;
-+
- if (!strcmp(args[0], "operator")) {
- if (!cli_has_level(appctx, ACCESS_LVL_OPER)) {
- return 1;
-@@ -2097,11 +2103,11 @@ int pcli_parse_request(struct stream *s, struct channel *req, char **errmsg, int
- if (pcli_has_level(s, ACCESS_LVL_ADMIN)) {
- goto end;
- } else if (pcli_has_level(s, ACCESS_LVL_OPER)) {
-- ci_insert_line2(req, 0, "operator", strlen("operator"));
-- ret += strlen("operator") + 2;
-+ ci_insert_line2(req, 0, "operator -", strlen("operator -"));
-+ ret += strlen("operator -") + 2;
- } else if (pcli_has_level(s, ACCESS_LVL_USER)) {
-- ci_insert_line2(req, 0, "user", strlen("user"));
-- ret += strlen("user") + 2;
-+ ci_insert_line2(req, 0, "user -", strlen("user -"));
-+ ret += strlen("user -") + 2;
- }
- }
- end:
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -327,6 +327,15 @@ ifeq ($(TARGET),linux-glibc)
+ USE_GETADDRINFO)
+ endif
+
++# For linux >= 2.6.28 and uclibc
++ifeq ($(TARGET),linux-uclibc)
++ set_target_defaults = $(call default_opts, \
++ USE_POLL USE_TPROXY USE_DL USE_RT USE_NETFILTER \
++ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \
++ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \
++ USE_GETADDRINFO)
++endif
++
+ # Solaris 8 and above
+ ifeq ($(TARGET),solaris)
+ # We also enable getaddrinfo() which works since solaris 8.
+++ /dev/null
-commit aa2ecea6f711f50192476b26a5b1d767108bd761
-Author: Olivier Houchard <ohouchard@haproxy.com>
-Date: Fri Jun 28 14:10:33 2019 +0200
-
- BUG/MEDIUM: ssl: Don't attempt to set alpn if we're not using SSL.
-
- Checks use ssl_sock_set_alpn() to set the ALPN if check-alpn is used, however
- check-alpn failed to check if the connection was indeed using SSL, and thus,
- would crash if check-alpn was used on a non-SSL connection. Fix this by
- making sure the connection uses SSL before attempting to set the ALPN.
-
- This should be backported to 2.0 and 1.9.
-
- (cherry picked from commit e488ea865a433d93efcb14c0c602918070c6b208)
- Signed-off-by: Willy Tarreau <w@1wt.eu>
-
-diff --git a/src/ssl_sock.c b/src/ssl_sock.c
-index 05240063..c9fffbec 100644
---- a/src/ssl_sock.c
-+++ b/src/ssl_sock.c
-@@ -6411,6 +6411,9 @@ void ssl_sock_set_alpn(struct connection *conn, const unsigned char *alpn, int l
- #ifdef TLSEXT_TYPE_application_layer_protocol_negotiation
- struct ssl_sock_ctx *ctx = conn->xprt_ctx;
-
-+ if (!ssl_sock_is_ssl(conn))
-+ return;
-+
- SSL_set_alpn_protos(ctx->ssl, alpn, len);
- #endif
- }
--- /dev/null
+--- a/include/common/openssl-compat.h
++++ b/include/common/openssl-compat.h
+@@ -217,7 +217,8 @@ static inline int EVP_PKEY_base_id(EVP_PKEY *pkey)
+ #define TLSEXT_signature_ecdsa 3
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x20700000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
++ (defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x20700000L))
+ #define X509_getm_notBefore X509_get_notBefore
+ #define X509_getm_notAfter X509_get_notAfter
+ #endif
+++ /dev/null
-commit 9fa93f6220a374f724491fd781d44d31f307671f
-Author: Christopher Faulet <cfaulet@haproxy.com>
-Date: Fri Jun 28 17:41:42 2019 +0200
-
- BUG/MEDIUM: mux-h1: Always release H1C if a shutdown for writes was reported
-
- We must take care of this when the stream is detached from the
- connection. Otherwise, on the server side, the connexion is inserted in the list
- of idle connections of the session. But when reused, because the shutdown for
- writes was already catched, nothing is sent to the server and the session is
- blocked with a freezed connection.
-
- This patch must be backported to 2.0 and 1.9. It is related to the issue #136
- reported on Github.
-
- (cherry picked from commit 3ac0f43020e1cd77198020201e4e482a1c2ef8ac)
- Signed-off-by: Willy Tarreau <w@1wt.eu>
-
-diff --git a/src/mux_h1.c b/src/mux_h1.c
-index 3d2bd8b8..e497e6f6 100644
---- a/src/mux_h1.c
-+++ b/src/mux_h1.c
-@@ -2192,9 +2192,9 @@ static void h1_detach(struct conn_stream *cs)
- }
- }
-
-- /* We don't want to close right now unless the connection is in error */
-- if ((h1c->flags & (H1C_F_CS_ERROR|H1C_F_CS_SHUTDOWN|H1C_F_UPG_H2C)) ||
-- (h1c->conn->flags & CO_FL_ERROR) || !h1c->conn->owner)
-+ /* We don't want to close right now unless the connection is in error or shut down for writes */
-+ if ((h1c->flags & (H1C_F_CS_ERROR|H1C_F_CS_SHUTW_NOW|H1C_F_CS_SHUTDOWN|H1C_F_UPG_H2C)) ||
-+ (h1c->conn->flags & (CO_FL_ERROR|CO_FL_SOCK_WR_SH)) || !h1c->conn->owner)
- h1_release(h1c);
- else {
- tasklet_wakeup(h1c->wait_event.tasklet);
+++ /dev/null
-commit afc313e6cd4be32f3c3d212e875d4dbcef8a0c70
-Author: Willy Tarreau <w@1wt.eu>
-Date: Mon Jul 1 07:51:29 2019 +0200
-
- BUG/MEDIUM: checks: unblock signals in external checks
-
- As discussed in issue #140, processes are forked with signals blocked
- resulting in haproxy's kill being ignored. This happens when the command
- takes more time to complete than the configured check timeout or interval.
- Just calling "sleep 30" every second makes the problem obvious.
-
- The fix simply consists in unblocking the signals in the child after the
- fork. It needs to be backported to all stable branches containing external
- checks and where signals are blocked on startup. It's unclear when it
- started, but the following config exhibits the issue :
-
- global
- external-check
-
- listen www
- bind :8001
- timeout client 5s
- timeout server 5s
- timeout connect 5s
- option external-check
- external-check command "$PWD/sleep10.sh"
- server local 127.0.0.1:80 check inter 200
-
- $ cat sleep10.sh
- #!/bin/sh
- exec /bin/sleep 10
-
- The "sleep" processes keep accumulating for 10 seconds and stabilize
- around 25 when the bug is present. Just issuing "killall sleep" has no
- effect on them, and stopping haproxy leaves these processes behind.
-
- (cherry picked from commit 2df8cad0fea2d1a4ca8dd58f384df3c3c3f5d7ee)
- Signed-off-by: Willy Tarreau <w@1wt.eu>
-
-diff --git a/src/checks.c b/src/checks.c
-index c175a752..e31eb173 100644
---- a/src/checks.c
-+++ b/src/checks.c
-@@ -1997,6 +1997,7 @@ static int connect_proc_chk(struct task *t)
-
- environ = check->envp;
- extchk_setenv(check, EXTCHK_HAPROXY_SERVER_CURCONN, ultoa_r(s->cur_sess, buf, sizeof(buf)));
-+ haproxy_unblock_signals();
- execvp(px->check_command, check->argv);
- ha_alert("Failed to exec process for external health check: %s. Aborting.\n",
- strerror(errno));
+++ /dev/null
-commit 52131680c42ddbfa6f2b5d109ffc79c28f44e42a
-Author: Christopher Faulet <cfaulet@haproxy.com>
-Date: Thu Jun 27 17:40:14 2019 +0200
-
- BUG/MINOR: mux-h1: Skip trailers for non-chunked outgoing messages
-
- Unlike H1, H2 messages may contains trailers while the header "Content-Length"
- is set. Indeed, because of the framed structure of HTTP/2, it is no longer
- necessary to use the chunked transfer encoding. So Trailing HEADERS frames,
- after all DATA frames, may be added on messages with an explicit content length.
-
- But in H1, it is impossible to have trailers on non-chunked messages. So when
- outgoing messages are formatted by the H1 multiplexer, if the message is not
- chunked, all trailers must be dropped.
-
- This patch must be backported to 2.0 and 1.9. However, the patch will have to be
- adapted for the 1.9.
-
- (cherry picked from commit 5433a0b0215c791b4165bddd360a254fa141c6e9)
- Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
-
-diff --git a/src/mux_h1.c b/src/mux_h1.c
-index e497e6f6..e7d769b4 100644
---- a/src/mux_h1.c
-+++ b/src/mux_h1.c
-@@ -1696,7 +1696,9 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun
- goto done;
- }
- else if (type == HTX_BLK_EOT || type == HTX_BLK_TLR) {
-- if (!chunk_memcat(&tmp, "0\r\n", 3))
-+ /* If the message is not chunked, never
-+ * add the last chunk. */
-+ if ((h1m->flags & H1_MF_CHNK) && !chunk_memcat(&tmp, "0\r\n", 3))
- goto copy;
- goto trailers;
- }
-@@ -1715,6 +1717,11 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun
- goto error;
- trailers:
- h1m->state = H1_MSG_TRAILERS;
-+ /* If the message is not chunked, ignore
-+ * trailers. It may happen with H2 messages. */
-+ if (!(h1m->flags & H1_MF_CHNK))
-+ break;
-+
- if (type == HTX_BLK_EOT) {
- if (!chunk_memcat(&tmp, "\r\n", 2))
- goto copy;
+++ /dev/null
-commit 33d58b51e0f1bf68603aa86c9125ae75d6964454
-Author: Christopher Faulet <cfaulet@haproxy.com>
-Date: Mon Jul 1 16:17:30 2019 +0200
-
- BUG/MINOR: mux-h1: Don't return the empty chunk on HEAD responses
-
- HEAD responses must not have any body payload. But, because of a bug, for chunk
- reponses, the empty chunk was always added.
-
- This patch fixes the Github issue #146. It must be backported to 2.0 and 1.9.
-
- (cherry picked from commit b8fc304e8f996f0d9835e4d6524ef8961d3be076)
- Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
-
-diff --git a/src/mux_h1.c b/src/mux_h1.c
-index e7d769b4..37cc8252 100644
---- a/src/mux_h1.c
-+++ b/src/mux_h1.c
-@@ -1682,6 +1682,8 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun
- h1m->flags |= (H1_MF_NO_PHDR|H1_MF_CLEAN_CONN_HDR);
- h1s->flags &= ~H1S_F_HAVE_O_CONN;
- }
-+ else if ((h1m->flags & H1_MF_RESP) && h1s->meth == HTTP_METH_HEAD)
-+ h1m->state = H1_MSG_DONE;
- else
- h1m->state = H1_MSG_DATA;
- break;
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -327,6 +327,15 @@ ifeq ($(TARGET),linux-glibc)
- USE_GETADDRINFO)
- endif
-
-+# For linux >= 2.6.28 and uclibc
-+ifeq ($(TARGET),linux-uclibc)
-+ set_target_defaults = $(call default_opts, \
-+ USE_POLL USE_TPROXY USE_DL USE_RT USE_NETFILTER \
-+ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \
-+ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \
-+ USE_GETADDRINFO)
-+endif
-+
- # Solaris 8 and above
- ifeq ($(TARGET),solaris)
- # We also enable getaddrinfo() which works since solaris 8.
+++ /dev/null
---- a/include/common/openssl-compat.h
-+++ b/include/common/openssl-compat.h
-@@ -217,7 +217,8 @@ static inline int EVP_PKEY_base_id(EVP_PKEY *pkey)
- #define TLSEXT_signature_ecdsa 3
- #endif
-
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x20700000L)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
-+ (defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x20700000L))
- #define X509_getm_notBefore X509_get_notBefore
- #define X509_getm_notAfter X509_get_notAfter
- #endif
DEPENDS:=+libpcap
TITLE:=hcxdumptool
URL:=https://github.com/ZerBea/hcxdumptool
- SUBMENU:=wireless
+ SUBMENU:=Wireless
endef
define Package/hcxdumptool/description
DEPENDS:=+libpthread +libpcap +zlib +libcurl +libopenssl
TITLE:=hcxtools
URL:=https://github.com/ZerBea/hcxtools
- SUBMENU:=wireless
+ SUBMENU:=Wireless
endef
define Package/hcxtools/description
define Package/horst
SECTION:=net
CATEGORY:=Network
- SUBMENU:=wireless
+ SUBMENU:=Wireless
DEPENDS:=+libncurses +libnl-tiny
MAINTAINER:=Bruno Randolf <br1@einfach.org>
TITLE:=Highly Optimized 802.11 Radio Scanning Tool
define Package/kea-admin
$(call Package/kea/Default)
TITLE+= Admin
- DEPENDS:= +kea-libs +python3
+ DEPENDS:= +kea-libs
endef
define Package/kea-ctrl
MAINTAINER:=Jean-Michel lacroix <lacroix@lepine-lacroix.info>
DEPENDS:= $(CXX_DEPENDS) +libnl
URL:=http://www.kismetwireless.net/
- SUBMENU:=wireless
+ SUBMENU:=Wireless
endef
define Package/kismet/Default/description
CATEGORY:=Network
TITLE:=Netify Agent
URL:=http://www.netify.ai/
- DEPENDS:=+libcurl +libmnl +libnetfilter-conntrack +libjson-c +libpcap +zlib +libpthread
+ DEPENDS:=+libcurl +libmnl +libnetfilter-conntrack +libjson-c +libpcap +zlib +libpthread @!USE_UCLIBC
# Explicitly depend on libstdcpp rather than $(CXX_DEPENDS). At the moment
# std::unordered_map is only available via libstdcpp which is required for
# performance reasons.
include $(TOPDIR)/rules.mk
PKG_NAME:=pdns-recursor
-PKG_VERSION:=4.1.14
+PKG_VERSION:=4.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=7fceb8fa3bea693aad49d137c801bb3ecc15525cc5a7dc84380321546e87bf14
+PKG_HASH:=f03c72c1816fdcc645cc539d8c16721d2ec294feac9b5179e78c3db311b7c2c2
PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
PKG_LICENCE:=GPL-2.0-only
CONFIGURE_ARGS+= \
--sysconfdir=/etc/powerdns \
- --with-lua \
- --without-luajit \
- --disable-libsodium \
+ --with-lua=lua \
+ --without-libcap \
+ --without-libsodium \
--with-protobuf \
--without-net-snmp \
--disable-silent-rules
# api-key=
#################################
-# api-logfile Location of the server logfile (used by the REST API)
+# auth-zones Zones for which we have authoritative data, comma separated domain=file pairs
#
-# api-logfile=/var/log/pdns.log
+# auth-zones=
#################################
-# api-readonly Disallow data modification through the REST API when set
+# carbon-instance If set overwrites the the instance name default
#
-# api-readonly=no
+# carbon-instance=recursor
#################################
-# auth-zones Zones for which we have authoritative data, comma separated domain=file pairs
+# carbon-interval Number of seconds between carbon (graphite) updates
#
-# auth-zones=
+# carbon-interval=30
#################################
-# carbon-interval Number of seconds between carbon (graphite) updates
+# carbon-namespace If set overwrites the first part of the carbon string
#
-# carbon-interval=30
+# carbon-namespace=pdns
#################################
# carbon-ourname If set, overrides our reported hostname for carbon stats
#################################
# config-dir Location of configuration directory (recursor.conf)
#
-# config-dir=/usr/local/etc
+# config-dir=/etc/powerdns
#################################
# config-name Name of this virtual configuration - will rename the binary image
#
# disable-packetcache=no
-#################################
-# disable-real-memory-usage Disable expensive real-memory-usage metric
-#
-# disable-real-memory-usage=no
-
#################################
# disable-syslog Disable logging to syslog, useful when running inside a supervisor that logs stdout
#
#
# distribution-load-factor=0.0
+#################################
+# distribution-pipe-buffer-size Size in bytes of the internal buffer of the pipe used by the distributor to pass incoming queries to a worker thread
+#
+# distribution-pipe-buffer-size=0
+
+#################################
+# distributor-threads Launch this number of distributor threads, distributing queries to other threads
+#
+# distributor-threads=0
+
#################################
# dnssec DNSSEC mode: off/process-no-validate (default)/process/log-fail/validate
#
#
# dont-query=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32
+#################################
+# dont-throttle-names Do not throttle nameservers with this name or suffix
+#
+# dont-throttle-names=
+
+#################################
+# dont-throttle-netmasks Do not throttle nameservers with this IP netmask
+#
+# dont-throttle-netmasks=
+
+#################################
+# ecs-add-for List of client netmasks for which EDNS Client Subnet will be added
+#
+# ecs-add-for=0.0.0.0/0, ::/0, !127.0.0.0/8, !10.0.0.0/8, !100.64.0.0/10, !169.254.0.0/16, !192.168.0.0/16, !172.16.0.0/12, !::1/128, !fc00::/7, !fe80::/10
+
#################################
# ecs-cache-limit-ttl Minimum TTL to cache ECS response
#
#
# ecs-ipv6-cache-bits=56
+#################################
+# ecs-minimum-ttl-override Set under adverse conditions, a minimum TTL for records in ECS-specific answers
+#
+# ecs-minimum-ttl-override=0
+
#################################
# ecs-scope-zero-address Address to send to whitelisted authoritative servers for incoming queries with ECS prefix-length source of 0
#
#################################
# edns-outgoing-bufsize Outgoing EDNS buffer size
#
-# edns-outgoing-bufsize=1680
+# edns-outgoing-bufsize=1232
#################################
# edns-subnet-whitelist List of netmasks and domains that we should enable EDNS subnet for
#
# lua-dns-script=
+#################################
+# lua-maintenance-interval Number of seconds between calls to the lua user defined maintenance() function
+#
+# lua-maintenance-interval=1
+
+#################################
+# max-cache-bogus-ttl maximum number of seconds to keep a Bogus (positive or negative) cached entry in memory
+#
+# max-cache-bogus-ttl=3600
+
#################################
# max-cache-entries If set, maximum number of entries in the main cache
#
#
# processes=1
+#################################
+# protobuf-use-kernel-timestamp Compute the latency of queries in protobuf messages by using the timestamp set by the kernel when the query was received (when available)
+#
+# protobuf-use-kernel-timestamp=
+
+#################################
+# public-suffix-list-file Path to the Public Suffix List file, if any
+#
+# public-suffix-list-file=
+
#################################
# query-local-address Source IP address for sending queries
#
#
# reuseport=no
+#################################
+# rng Specify random number generator to use. Valid values are auto,sodium,openssl,getrandom,arc4random,urandom.
+#
+# rng=auto
+
#################################
# root-nx-trust If set, believe that an NXDOMAIN from the root means the TLD does not exist
#
# server-down-throttle-time=60
#################################
-# server-id Returned when queried for 'id.server' TXT or NSID, defaults to hostname
+# server-id Returned when queried for 'id.server' TXT or NSID, defaults to hostname, set custom or 'disabled'
#
# server-id=
# setuid=
#################################
-# signature-inception-skew Allow the signture inception to be off by this number of seconds
+# signature-inception-skew Allow the signature inception to be off by this number of seconds
#
-# signature-inception-skew=0
+# signature-inception-skew=60
#################################
# single-socket If set, only use a single socket for outgoing queries
#
# statistics-interval=1800
+#################################
+# stats-api-blacklist List of statistics that are disabled when retrieving the complete list of statistics via the API
+#
+# stats-api-blacklist=cache-bytes, packetcache-bytes, special-memory-usage, ecs-v4-response-bits-1, ecs-v4-response-bits-2, ecs-v4-response-bits-3, ecs-v4-response-bits-4, ecs-v4-response-bits-5, ecs-v4-response-bits-6, ecs-v4-response-bits-7, ecs-v4-response-bits-8, ecs-v4-response-bits-9, ecs-v4-response-bits-10, ecs-v4-response-bits-11, ecs-v4-response-bits-12, ecs-v4-response-bits-13, ecs-v4-response-bits-14, ecs-v4-response-bits-15, ecs-v4-response-bits-16, ecs-v4-response-bits-17, ecs-v4-response-bits-18, ecs-v4-response-bits-19, ecs-v4-response-bits-20, ecs-v4-response-bits-21, ecs-v4-response-bits-22, ecs-v4-response-bits-23, ecs-v4-response-bits-24, ecs-v4-response-bits-25, ecs-v4-response-bits-26, ecs-v4-response-bits-27, ecs-v4-response-bits-28, ecs-v4-response-bits-29, ecs-v4-response-bits-30, ecs-v4-response-bits-31, ecs-v4-response-bits-32, ecs-v6-response-bits-1, ecs-v6-response-bits-2, ecs-v6-response-bits-3, ecs-v6-response-bits-4, ecs-v6-response-bits-5, ecs-v6-response-bits-6, ecs-v6-response-bits-7, ecs-v6-response-bits-8, ecs-v6-response-bits-9, ecs-v6-response-bits-10, ecs-v6-response-bits-11, ecs-v6-response-bits-12, ecs-v6-response-bits-13, ecs-v6-response-bits-14, ecs-v6-response-bits-15, ecs-v6-response-bits-16, ecs-v6-response-bits-17, ecs-v6-response-bits-18, ecs-v6-response-bits-19, ecs-v6-response-bits-20, ecs-v6-response-bits-21, ecs-v6-response-bits-22, ecs-v6-response-bits-23, ecs-v6-response-bits-24, ecs-v6-response-bits-25, ecs-v6-response-bits-26, ecs-v6-response-bits-27, ecs-v6-response-bits-28, ecs-v6-response-bits-29, ecs-v6-response-bits-30, ecs-v6-response-bits-31, ecs-v6-response-bits-32, ecs-v6-response-bits-33, ecs-v6-response-bits-34, ecs-v6-response-bits-35, ecs-v6-response-bits-36, ecs-v6-response-bits-37, ecs-v6-response-bits-38, ecs-v6-response-bits-39, ecs-v6-response-bits-40, ecs-v6-response-bits-41, ecs-v6-response-bits-42, ecs-v6-response-bits-43, ecs-v6-response-bits-44, ecs-v6-response-bits-45, ecs-v6-response-bits-46, ecs-v6-response-bits-47, ecs-v6-response-bits-48, ecs-v6-response-bits-49, ecs-v6-response-bits-50, ecs-v6-response-bits-51, ecs-v6-response-bits-52, ecs-v6-response-bits-53, ecs-v6-response-bits-54, ecs-v6-response-bits-55, ecs-v6-response-bits-56, ecs-v6-response-bits-57, ecs-v6-response-bits-58, ecs-v6-response-bits-59, ecs-v6-response-bits-60, ecs-v6-response-bits-61, ecs-v6-response-bits-62, ecs-v6-response-bits-63, ecs-v6-response-bits-64, ecs-v6-response-bits-65, ecs-v6-response-bits-66, ecs-v6-response-bits-67, ecs-v6-response-bits-68, ecs-v6-response-bits-69, ecs-v6-response-bits-70, ecs-v6-response-bits-71, ecs-v6-response-bits-72, ecs-v6-response-bits-73, ecs-v6-response-bits-74, ecs-v6-response-bits-75, ecs-v6-response-bits-76, ecs-v6-response-bits-77, ecs-v6-response-bits-78, ecs-v6-response-bits-79, ecs-v6-response-bits-80, ecs-v6-response-bits-81, ecs-v6-response-bits-82, ecs-v6-response-bits-83, ecs-v6-response-bits-84, ecs-v6-response-bits-85, ecs-v6-response-bits-86, ecs-v6-response-bits-87, ecs-v6-response-bits-88, ecs-v6-response-bits-89, ecs-v6-response-bits-90, ecs-v6-response-bits-91, ecs-v6-response-bits-92, ecs-v6-response-bits-93, ecs-v6-response-bits-94, ecs-v6-response-bits-95, ecs-v6-response-bits-96, ecs-v6-response-bits-97, ecs-v6-response-bits-98, ecs-v6-response-bits-99, ecs-v6-response-bits-100, ecs-v6-response-bits-101, ecs-v6-response-bits-102, ecs-v6-response-bits-103, ecs-v6-response-bits-104, ecs-v6-response-bits-105, ecs-v6-response-bits-106, ecs-v6-response-bits-107, ecs-v6-response-bits-108, ecs-v6-response-bits-109, ecs-v6-response-bits-110, ecs-v6-response-bits-111, ecs-v6-response-bits-112, ecs-v6-response-bits-113, ecs-v6-response-bits-114, ecs-v6-response-bits-115, ecs-v6-response-bits-116, ecs-v6-response-bits-117, ecs-v6-response-bits-118, ecs-v6-response-bits-119, ecs-v6-response-bits-120, ecs-v6-response-bits-121, ecs-v6-response-bits-122, ecs-v6-response-bits-123, ecs-v6-response-bits-124, ecs-v6-response-bits-125, ecs-v6-response-bits-126, ecs-v6-response-bits-127, ecs-v6-response-bits-128
+
+#################################
+# stats-carbon-blacklist List of statistics that are prevented from being exported via Carbon
+#
+# stats-carbon-blacklist=cache-bytes, packetcache-bytes, special-memory-usage, ecs-v4-response-bits-1, ecs-v4-response-bits-2, ecs-v4-response-bits-3, ecs-v4-response-bits-4, ecs-v4-response-bits-5, ecs-v4-response-bits-6, ecs-v4-response-bits-7, ecs-v4-response-bits-8, ecs-v4-response-bits-9, ecs-v4-response-bits-10, ecs-v4-response-bits-11, ecs-v4-response-bits-12, ecs-v4-response-bits-13, ecs-v4-response-bits-14, ecs-v4-response-bits-15, ecs-v4-response-bits-16, ecs-v4-response-bits-17, ecs-v4-response-bits-18, ecs-v4-response-bits-19, ecs-v4-response-bits-20, ecs-v4-response-bits-21, ecs-v4-response-bits-22, ecs-v4-response-bits-23, ecs-v4-response-bits-24, ecs-v4-response-bits-25, ecs-v4-response-bits-26, ecs-v4-response-bits-27, ecs-v4-response-bits-28, ecs-v4-response-bits-29, ecs-v4-response-bits-30, ecs-v4-response-bits-31, ecs-v4-response-bits-32, ecs-v6-response-bits-1, ecs-v6-response-bits-2, ecs-v6-response-bits-3, ecs-v6-response-bits-4, ecs-v6-response-bits-5, ecs-v6-response-bits-6, ecs-v6-response-bits-7, ecs-v6-response-bits-8, ecs-v6-response-bits-9, ecs-v6-response-bits-10, ecs-v6-response-bits-11, ecs-v6-response-bits-12, ecs-v6-response-bits-13, ecs-v6-response-bits-14, ecs-v6-response-bits-15, ecs-v6-response-bits-16, ecs-v6-response-bits-17, ecs-v6-response-bits-18, ecs-v6-response-bits-19, ecs-v6-response-bits-20, ecs-v6-response-bits-21, ecs-v6-response-bits-22, ecs-v6-response-bits-23, ecs-v6-response-bits-24, ecs-v6-response-bits-25, ecs-v6-response-bits-26, ecs-v6-response-bits-27, ecs-v6-response-bits-28, ecs-v6-response-bits-29, ecs-v6-response-bits-30, ecs-v6-response-bits-31, ecs-v6-response-bits-32, ecs-v6-response-bits-33, ecs-v6-response-bits-34, ecs-v6-response-bits-35, ecs-v6-response-bits-36, ecs-v6-response-bits-37, ecs-v6-response-bits-38, ecs-v6-response-bits-39, ecs-v6-response-bits-40, ecs-v6-response-bits-41, ecs-v6-response-bits-42, ecs-v6-response-bits-43, ecs-v6-response-bits-44, ecs-v6-response-bits-45, ecs-v6-response-bits-46, ecs-v6-response-bits-47, ecs-v6-response-bits-48, ecs-v6-response-bits-49, ecs-v6-response-bits-50, ecs-v6-response-bits-51, ecs-v6-response-bits-52, ecs-v6-response-bits-53, ecs-v6-response-bits-54, ecs-v6-response-bits-55, ecs-v6-response-bits-56, ecs-v6-response-bits-57, ecs-v6-response-bits-58, ecs-v6-response-bits-59, ecs-v6-response-bits-60, ecs-v6-response-bits-61, ecs-v6-response-bits-62, ecs-v6-response-bits-63, ecs-v6-response-bits-64, ecs-v6-response-bits-65, ecs-v6-response-bits-66, ecs-v6-response-bits-67, ecs-v6-response-bits-68, ecs-v6-response-bits-69, ecs-v6-response-bits-70, ecs-v6-response-bits-71, ecs-v6-response-bits-72, ecs-v6-response-bits-73, ecs-v6-response-bits-74, ecs-v6-response-bits-75, ecs-v6-response-bits-76, ecs-v6-response-bits-77, ecs-v6-response-bits-78, ecs-v6-response-bits-79, ecs-v6-response-bits-80, ecs-v6-response-bits-81, ecs-v6-response-bits-82, ecs-v6-response-bits-83, ecs-v6-response-bits-84, ecs-v6-response-bits-85, ecs-v6-response-bits-86, ecs-v6-response-bits-87, ecs-v6-response-bits-88, ecs-v6-response-bits-89, ecs-v6-response-bits-90, ecs-v6-response-bits-91, ecs-v6-response-bits-92, ecs-v6-response-bits-93, ecs-v6-response-bits-94, ecs-v6-response-bits-95, ecs-v6-response-bits-96, ecs-v6-response-bits-97, ecs-v6-response-bits-98, ecs-v6-response-bits-99, ecs-v6-response-bits-100, ecs-v6-response-bits-101, ecs-v6-response-bits-102, ecs-v6-response-bits-103, ecs-v6-response-bits-104, ecs-v6-response-bits-105, ecs-v6-response-bits-106, ecs-v6-response-bits-107, ecs-v6-response-bits-108, ecs-v6-response-bits-109, ecs-v6-response-bits-110, ecs-v6-response-bits-111, ecs-v6-response-bits-112, ecs-v6-response-bits-113, ecs-v6-response-bits-114, ecs-v6-response-bits-115, ecs-v6-response-bits-116, ecs-v6-response-bits-117, ecs-v6-response-bits-118, ecs-v6-response-bits-119, ecs-v6-response-bits-120, ecs-v6-response-bits-121, ecs-v6-response-bits-122, ecs-v6-response-bits-123, ecs-v6-response-bits-124, ecs-v6-response-bits-125, ecs-v6-response-bits-126, ecs-v6-response-bits-127, ecs-v6-response-bits-128
+
+#################################
+# stats-rec-control-blacklist List of statistics that are prevented from being exported via rec_control get-all
+#
+# stats-rec-control-blacklist=cache-bytes, packetcache-bytes, special-memory-usage, ecs-v4-response-bits-1, ecs-v4-response-bits-2, ecs-v4-response-bits-3, ecs-v4-response-bits-4, ecs-v4-response-bits-5, ecs-v4-response-bits-6, ecs-v4-response-bits-7, ecs-v4-response-bits-8, ecs-v4-response-bits-9, ecs-v4-response-bits-10, ecs-v4-response-bits-11, ecs-v4-response-bits-12, ecs-v4-response-bits-13, ecs-v4-response-bits-14, ecs-v4-response-bits-15, ecs-v4-response-bits-16, ecs-v4-response-bits-17, ecs-v4-response-bits-18, ecs-v4-response-bits-19, ecs-v4-response-bits-20, ecs-v4-response-bits-21, ecs-v4-response-bits-22, ecs-v4-response-bits-23, ecs-v4-response-bits-24, ecs-v4-response-bits-25, ecs-v4-response-bits-26, ecs-v4-response-bits-27, ecs-v4-response-bits-28, ecs-v4-response-bits-29, ecs-v4-response-bits-30, ecs-v4-response-bits-31, ecs-v4-response-bits-32, ecs-v6-response-bits-1, ecs-v6-response-bits-2, ecs-v6-response-bits-3, ecs-v6-response-bits-4, ecs-v6-response-bits-5, ecs-v6-response-bits-6, ecs-v6-response-bits-7, ecs-v6-response-bits-8, ecs-v6-response-bits-9, ecs-v6-response-bits-10, ecs-v6-response-bits-11, ecs-v6-response-bits-12, ecs-v6-response-bits-13, ecs-v6-response-bits-14, ecs-v6-response-bits-15, ecs-v6-response-bits-16, ecs-v6-response-bits-17, ecs-v6-response-bits-18, ecs-v6-response-bits-19, ecs-v6-response-bits-20, ecs-v6-response-bits-21, ecs-v6-response-bits-22, ecs-v6-response-bits-23, ecs-v6-response-bits-24, ecs-v6-response-bits-25, ecs-v6-response-bits-26, ecs-v6-response-bits-27, ecs-v6-response-bits-28, ecs-v6-response-bits-29, ecs-v6-response-bits-30, ecs-v6-response-bits-31, ecs-v6-response-bits-32, ecs-v6-response-bits-33, ecs-v6-response-bits-34, ecs-v6-response-bits-35, ecs-v6-response-bits-36, ecs-v6-response-bits-37, ecs-v6-response-bits-38, ecs-v6-response-bits-39, ecs-v6-response-bits-40, ecs-v6-response-bits-41, ecs-v6-response-bits-42, ecs-v6-response-bits-43, ecs-v6-response-bits-44, ecs-v6-response-bits-45, ecs-v6-response-bits-46, ecs-v6-response-bits-47, ecs-v6-response-bits-48, ecs-v6-response-bits-49, ecs-v6-response-bits-50, ecs-v6-response-bits-51, ecs-v6-response-bits-52, ecs-v6-response-bits-53, ecs-v6-response-bits-54, ecs-v6-response-bits-55, ecs-v6-response-bits-56, ecs-v6-response-bits-57, ecs-v6-response-bits-58, ecs-v6-response-bits-59, ecs-v6-response-bits-60, ecs-v6-response-bits-61, ecs-v6-response-bits-62, ecs-v6-response-bits-63, ecs-v6-response-bits-64, ecs-v6-response-bits-65, ecs-v6-response-bits-66, ecs-v6-response-bits-67, ecs-v6-response-bits-68, ecs-v6-response-bits-69, ecs-v6-response-bits-70, ecs-v6-response-bits-71, ecs-v6-response-bits-72, ecs-v6-response-bits-73, ecs-v6-response-bits-74, ecs-v6-response-bits-75, ecs-v6-response-bits-76, ecs-v6-response-bits-77, ecs-v6-response-bits-78, ecs-v6-response-bits-79, ecs-v6-response-bits-80, ecs-v6-response-bits-81, ecs-v6-response-bits-82, ecs-v6-response-bits-83, ecs-v6-response-bits-84, ecs-v6-response-bits-85, ecs-v6-response-bits-86, ecs-v6-response-bits-87, ecs-v6-response-bits-88, ecs-v6-response-bits-89, ecs-v6-response-bits-90, ecs-v6-response-bits-91, ecs-v6-response-bits-92, ecs-v6-response-bits-93, ecs-v6-response-bits-94, ecs-v6-response-bits-95, ecs-v6-response-bits-96, ecs-v6-response-bits-97, ecs-v6-response-bits-98, ecs-v6-response-bits-99, ecs-v6-response-bits-100, ecs-v6-response-bits-101, ecs-v6-response-bits-102, ecs-v6-response-bits-103, ecs-v6-response-bits-104, ecs-v6-response-bits-105, ecs-v6-response-bits-106, ecs-v6-response-bits-107, ecs-v6-response-bits-108, ecs-v6-response-bits-109, ecs-v6-response-bits-110, ecs-v6-response-bits-111, ecs-v6-response-bits-112, ecs-v6-response-bits-113, ecs-v6-response-bits-114, ecs-v6-response-bits-115, ecs-v6-response-bits-116, ecs-v6-response-bits-117, ecs-v6-response-bits-118, ecs-v6-response-bits-119, ecs-v6-response-bits-120, ecs-v6-response-bits-121, ecs-v6-response-bits-122, ecs-v6-response-bits-123, ecs-v6-response-bits-124, ecs-v6-response-bits-125, ecs-v6-response-bits-126, ecs-v6-response-bits-127, ecs-v6-response-bits-128
+
#################################
# stats-ringbuffer-entries maximum number of packets to store statistics for
#
# stats-ringbuffer-entries=10000
+#################################
+# stats-snmp-blacklist List of statistics that are prevented from being exported via SNMP
+#
+# stats-snmp-blacklist=cache-bytes, packetcache-bytes, special-memory-usage, ecs-v4-response-bits-1, ecs-v4-response-bits-2, ecs-v4-response-bits-3, ecs-v4-response-bits-4, ecs-v4-response-bits-5, ecs-v4-response-bits-6, ecs-v4-response-bits-7, ecs-v4-response-bits-8, ecs-v4-response-bits-9, ecs-v4-response-bits-10, ecs-v4-response-bits-11, ecs-v4-response-bits-12, ecs-v4-response-bits-13, ecs-v4-response-bits-14, ecs-v4-response-bits-15, ecs-v4-response-bits-16, ecs-v4-response-bits-17, ecs-v4-response-bits-18, ecs-v4-response-bits-19, ecs-v4-response-bits-20, ecs-v4-response-bits-21, ecs-v4-response-bits-22, ecs-v4-response-bits-23, ecs-v4-response-bits-24, ecs-v4-response-bits-25, ecs-v4-response-bits-26, ecs-v4-response-bits-27, ecs-v4-response-bits-28, ecs-v4-response-bits-29, ecs-v4-response-bits-30, ecs-v4-response-bits-31, ecs-v4-response-bits-32, ecs-v6-response-bits-1, ecs-v6-response-bits-2, ecs-v6-response-bits-3, ecs-v6-response-bits-4, ecs-v6-response-bits-5, ecs-v6-response-bits-6, ecs-v6-response-bits-7, ecs-v6-response-bits-8, ecs-v6-response-bits-9, ecs-v6-response-bits-10, ecs-v6-response-bits-11, ecs-v6-response-bits-12, ecs-v6-response-bits-13, ecs-v6-response-bits-14, ecs-v6-response-bits-15, ecs-v6-response-bits-16, ecs-v6-response-bits-17, ecs-v6-response-bits-18, ecs-v6-response-bits-19, ecs-v6-response-bits-20, ecs-v6-response-bits-21, ecs-v6-response-bits-22, ecs-v6-response-bits-23, ecs-v6-response-bits-24, ecs-v6-response-bits-25, ecs-v6-response-bits-26, ecs-v6-response-bits-27, ecs-v6-response-bits-28, ecs-v6-response-bits-29, ecs-v6-response-bits-30, ecs-v6-response-bits-31, ecs-v6-response-bits-32, ecs-v6-response-bits-33, ecs-v6-response-bits-34, ecs-v6-response-bits-35, ecs-v6-response-bits-36, ecs-v6-response-bits-37, ecs-v6-response-bits-38, ecs-v6-response-bits-39, ecs-v6-response-bits-40, ecs-v6-response-bits-41, ecs-v6-response-bits-42, ecs-v6-response-bits-43, ecs-v6-response-bits-44, ecs-v6-response-bits-45, ecs-v6-response-bits-46, ecs-v6-response-bits-47, ecs-v6-response-bits-48, ecs-v6-response-bits-49, ecs-v6-response-bits-50, ecs-v6-response-bits-51, ecs-v6-response-bits-52, ecs-v6-response-bits-53, ecs-v6-response-bits-54, ecs-v6-response-bits-55, ecs-v6-response-bits-56, ecs-v6-response-bits-57, ecs-v6-response-bits-58, ecs-v6-response-bits-59, ecs-v6-response-bits-60, ecs-v6-response-bits-61, ecs-v6-response-bits-62, ecs-v6-response-bits-63, ecs-v6-response-bits-64, ecs-v6-response-bits-65, ecs-v6-response-bits-66, ecs-v6-response-bits-67, ecs-v6-response-bits-68, ecs-v6-response-bits-69, ecs-v6-response-bits-70, ecs-v6-response-bits-71, ecs-v6-response-bits-72, ecs-v6-response-bits-73, ecs-v6-response-bits-74, ecs-v6-response-bits-75, ecs-v6-response-bits-76, ecs-v6-response-bits-77, ecs-v6-response-bits-78, ecs-v6-response-bits-79, ecs-v6-response-bits-80, ecs-v6-response-bits-81, ecs-v6-response-bits-82, ecs-v6-response-bits-83, ecs-v6-response-bits-84, ecs-v6-response-bits-85, ecs-v6-response-bits-86, ecs-v6-response-bits-87, ecs-v6-response-bits-88, ecs-v6-response-bits-89, ecs-v6-response-bits-90, ecs-v6-response-bits-91, ecs-v6-response-bits-92, ecs-v6-response-bits-93, ecs-v6-response-bits-94, ecs-v6-response-bits-95, ecs-v6-response-bits-96, ecs-v6-response-bits-97, ecs-v6-response-bits-98, ecs-v6-response-bits-99, ecs-v6-response-bits-100, ecs-v6-response-bits-101, ecs-v6-response-bits-102, ecs-v6-response-bits-103, ecs-v6-response-bits-104, ecs-v6-response-bits-105, ecs-v6-response-bits-106, ecs-v6-response-bits-107, ecs-v6-response-bits-108, ecs-v6-response-bits-109, ecs-v6-response-bits-110, ecs-v6-response-bits-111, ecs-v6-response-bits-112, ecs-v6-response-bits-113, ecs-v6-response-bits-114, ecs-v6-response-bits-115, ecs-v6-response-bits-116, ecs-v6-response-bits-117, ecs-v6-response-bits-118, ecs-v6-response-bits-119, ecs-v6-response-bits-120, ecs-v6-response-bits-121, ecs-v6-response-bits-122, ecs-v6-response-bits-123, ecs-v6-response-bits-124, ecs-v6-response-bits-125, ecs-v6-response-bits-126, ecs-v6-response-bits-127, ecs-v6-response-bits-128
+
#################################
# tcp-fast-open Enable TCP Fast Open support on the listening sockets, using the supplied numerical value as the queue size
#
#
# trace=off
+#################################
+# udp-source-port-avoid List of comma separated UDP port number to avoid
+#
+# udp-source-port-avoid=11211
+
+#################################
+# udp-source-port-max Maximum UDP port to bind on
+#
+# udp-source-port-max=65535
+
+#################################
+# udp-source-port-min Minimum UDP port to bind on
+#
+# udp-source-port-min=1024
+
#################################
# udp-truncation-threshold Maximum UDP response size before we truncate
#
-# udp-truncation-threshold=1680
+# udp-truncation-threshold=1232
#################################
# use-incoming-edns-subnet Pass along received EDNS Client Subnet information
#################################
# version-string string reported on version.pdns or version.bind
#
-# version-string=PowerDNS Recursor 4.1.13 (built Jun 14 2019 10:58:59 by xreaper@nimbus.for-no-reason.net)
+# version-string=PowerDNS Recursor 4.2.0 (built May 18 2019 15:59:49 by jamestk@zanzabar.cybase.for-no-reason.net)
#################################
# webserver Start a webserver (for REST API)
#
# webserver-allow-from=127.0.0.1,::1
+#################################
+# webserver-loglevel Amount of logging in the webserver (none, normal, detailed)
+#
+# webserver-loglevel=normal
+
#################################
# webserver-password Password required for accessing the webserver
#
# write-pid Write a PID file
#
# write-pid=yes
+
+#################################
+# xpf-allow-from XPF information is only processed from these subnets
+#
+# xpf-allow-from=
+
+#################################
+# xpf-rr-code XPF option code to use
+#
+# xpf-rr-code=0
+
+
+++ /dev/null
---- a/m4/pdns_check_os.m4
-+++ b/m4/pdns_check_os.m4
-@@ -35,16 +35,21 @@
- AM_CONDITIONAL([HAVE_LINUX], [test "x$have_linux" = "xyes"])
- AM_CONDITIONAL([HAVE_SOLARIS], [test "x$have_solaris" = "xyes"])
-
-- case "$host" in
-- mips* | powerpc-* )
-- AC_MSG_CHECKING([whether the linker accepts -latomic])
-- LDFLAGS="-latomic $LDFLAGS"
-- AC_LINK_IFELSE([m4_default([],[AC_LANG_PROGRAM()])],
-- [AC_MSG_RESULT([yes])],
-- [AC_MSG_ERROR([Unable to link against libatomic, cannot continue])]
-- )
-- ;;
-- esac
-+ AC_MSG_CHECKING([whether -latomic is needed for __atomic builtins])
-+ AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM([[#include <stdint.h>]],
-+ [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
-+ )],
-+ [AC_MSG_RESULT([no])],
-+ [LIBS="$LIBS -latomic"
-+ AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM([[#include <stdint.h>]],
-+ [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
-+ )],
-+ [AC_MSG_RESULT([yes])],
-+ [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, cannot continue])]
-+ )]
-+ )
-
- AC_SUBST(THREADFLAGS)
- AC_SUBST([DYNLINKFLAGS], [-export-dynamic])
+++ /dev/null
---- a/build-aux/gen-version
-+++ b/build-aux/gen-version
-@@ -1,39 +1,4 @@
- #!/bin/sh
--VERSION="unknown"
--
--DIRTY=""
--git status | grep -q clean || DIRTY='.dirty'
--
--# Special environment variable to signal that we are building a release, as this
--# has consequences for the version number.
--if [ "${IS_RELEASE}" = "YES" ]; then
-- TAG="$(git describe --tags --exact-match 2> /dev/null | cut -d- -f 2-)"
-- if [ -n "${TAG}" ]; then
-- # We're on a tag
-- echo "${TAG}${DIRTY}" > .version
-- printf "${TAG}${DIRTY}"
-- exit 0
-- fi
-- echo 'This is not a tag, either tag this commit or do not set $IS_RELEASE' >&2
-- exit 1
--fi
--
--#
--# Generate the version number based on the branch
--#
--if [ ! -z "$(git rev-parse --abbrev-ref HEAD 2> /dev/null)" ]; then
-- if $(git rev-parse --abbrev-ref HEAD | grep -q 'rel/'); then
-- REL_TYPE="$(git rev-parse --abbrev-ref HEAD | cut -d/ -f 2 | cut -d- -f 1)"
-- VERSION="$(git describe --match=${REL_TYPE}-* --tags --dirty=.dirty | cut -d- -f 2-)"
-- else
-- GIT_VERSION=$(git show --no-patch --format=format:%h HEAD)
-- BRANCH=".$(git rev-parse --abbrev-ref HEAD | perl -p -e 's/[^[:alnum:]]//g;')"
-- [ "${BRANCH}" = ".master" ] && BRANCH=''
-- VERSION="0.0${BRANCH}.${PDNS_BUILD_NUMBER}g${GIT_VERSION}${DIRTY}"
-- fi
-- echo "$VERSION" > .version
--elif [ -f .version ]; then
-- VERSION="$(cat .version)"
--fi
-+VERSION="$(cat .version)"
-
- printf $VERSION
define Package/pixiewps
SECTION:=net
CATEGORY:=Network
- SUBMENU:=wireless
+ SUBMENU:=Wireless
TITLE:=An offline WPS bruteforce utility
URL:=https://github.com/wiire-a/pixiewps
DEPENDS:=+libpthread
define Package/reaver
SECTION:=net
CATEGORY:=Network
- SUBMENU:=wireless
+ SUBMENU:=Wireless
TITLE:=Efficient brute force attack against Wifi Protected Setup
URL:=https://github.com/t6x/reaver-wps-fork-t6x
DEPENDS:=+libpcap
CATEGORY:=Network
TITLE:=PPPoE (PPP over Ethernet)
URL:=http://roaringpenguin.com/products/pppoe
- SUBMENU:=dial-in/up
+ SUBMENU:=Dial-in/up
endef
define Package/rp-pppoe/Default/description
PKG_NAME:=socat
PKG_VERSION:=1.7.3.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.dest-unreach.org/socat/download
PKG_HASH:=0dd63ffe498168a4aac41d307594c5076ff307aa0ac04b141f8f1cec6594d04a
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-PKG_LICENSE:=GPL-2.0 OpenSSL
+PKG_LICENSE:=GPL-2.0-or-later OpenSSL
PKG_LICENSE_FILES:=COPYING COPYING.OpenSSL
PKG_INSTALL:=1
--- /dev/null
+--- a/sycls.c
++++ b/sycls.c
+@@ -1329,6 +1329,7 @@ unsigned int Sleep(unsigned int seconds) {
+ return retval;
+ }
+
++#if 0
+ /* obsolete by POSIX.1-2001 */
+ void Usleep(unsigned long usec) {
+ Debug1("usleep(%lu)", usec);
+@@ -1336,6 +1337,7 @@ void Usleep(unsigned long usec) {
+ Debug("usleep() ->");
+ return;
+ }
++#endif
+
+ #if HAVE_NANOSLEEP
+ unsigned int Nanosleep(const struct timespec *req, struct timespec *rem) {
tcpreplay tcpreplay-edit tcprewrite
define Package/tcpreplay/default
- SUBMENU:=tcprelay
+ SUBMENU:=Tcpreplay
SECTION:=net
CATEGORY:=Network
URL:=http://tcpreplay.appneta.com/
CATEGORY:=Network
TITLE:=N-curses based wireless network devices monitor
DEPENDS:=+libncurses +libpthread +libnl-genl
- SUBMENU:=wireless
+ SUBMENU:=Wireless
URL:=https://github.com/uoaerg/wavemon/releases
endef
include $(INCLUDE_DIR)/package.mk
define Package/wifischedule
- SUBMENU:=wireless
+ SUBMENU:=Wireless
TITLE:=Turns WiFi on and off according to a schedule
SECTION:=net
CATEGORY:=Network
define Package/fontconfig
SECTION:=xorg-util
CATEGORY:=Xorg
- SUBMENU:=font-utils
+ SUBMENU:=Font-Utils
TITLE:=fontconfig
DEPENDS:=+libpthread +libexpat +libfreetype
URL:=http://fontconfig.org/
include $(TOPDIR)/rules.mk
PKG_NAME:=io
-PKG_RELEASE:=1
+PKG_RELEASE:=2
include $(INCLUDE_DIR)/package.mk
printf("Attempting to map 0x%lx bytes at address 0x%08lx\n",
real_len, real_addr);
- mfd = open("/dev/mem", (memfunc == MEM_READ) ? O_RDONLY : O_RDWR);
+ mfd = open("/dev/mem", (memfunc == MEM_READ) ? (O_RDONLY | O_SYNC) : (O_RDWR | O_SYNC));
if (mfd == -1) {
perror("open /dev/mem");
fprintf(stderr, "Is CONFIG_DEVMEM activated?\n");
SECTION:=utils
CATEGORY:=Utilities
URL:=https://mariadb.org/
- SUBMENU:=database
+ SUBMENU:=Database
endef
define Package/mariadb-client
PKG_NAME:=prometheus
PKG_VERSION:=2.10.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/prometheus/prometheus/tar.gz/v${PKG_VERSION}?
--- /dev/null
+fsnotify v1.3.1 uses unix.InotifyInit, which does not exist for mips64/mips64el
+v1.4.2 changed to unix.InotifyInit1, which should exist for all Linux systems
+
+--- a/go.mod
++++ b/go.mod
+@@ -95,7 +95,7 @@ require (
+ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19
+ google.golang.org/grpc v1.19.1
+ gopkg.in/alecthomas/kingpin.v2 v2.2.6
+- gopkg.in/fsnotify/fsnotify.v1 v1.3.1
++ gopkg.in/fsnotify/fsnotify.v1 v1.4.7
+ gopkg.in/inf.v0 v0.9.1 // indirect
+ gopkg.in/yaml.v2 v2.2.2
+ k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b
+--- a/go.sum
++++ b/go.sum
+@@ -416,8 +416,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-
+ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+ gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
+ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+-gopkg.in/fsnotify/fsnotify.v1 v1.3.1 h1:2fkCHbPQZNYRAyRyIV9VX0bpRkxIorlQDiYRmufHnhA=
+-gopkg.in/fsnotify/fsnotify.v1 v1.3.1/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
++gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
++gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
+ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
+ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
$(call Package/rrdtool1/Default)
SECTION:=utils
CATEGORY:=Utilities
- SUBMENU:=database
+ SUBMENU:=Database
DEPENDS:=+librrd1
TITLE+= CGI graphing tool
endef
$(call Package/rrdtool1/Default)
SECTION:=utils
CATEGORY:=Utilities
- SUBMENU:=database
+ SUBMENU:=Database
DEPENDS:=+librrd1
TITLE+= management tools
endef
PKG_NAME:=tar
PKG_VERSION:=1.32
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
PKG_HASH:=d0d3ae07f103323be809bc3eac0dcc386d52c5262499fe05511ac4788af1fdd8
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
-PKG_LICENSE:=GPL-3.0
+PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:gnu:tar
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
-PKG_BUILD_DEPENDS:=xz
-
include $(INCLUDE_DIR)/package.mk
define Package/tar
default y if USE_FS_ACL_ATTR
default n
- config PACKAGE_TAR_GZIP
- bool "tar: Enable seamless gzip support"
- default y
-
config PACKAGE_TAR_BZIP2
bool "tar: Enable seamless bzip2 support"
default y
+ config PACKAGE_TAR_GZIP
+ bool "tar: Enable seamless gzip support"
+ default y
+
config PACKAGE_TAR_XZ
bool "tar: Enable seamless xz support"
select PACKAGE_xz-utils
select PACKAGE_xz
default y
+
+ config PACKAGE_TAR_ZSTD
+ bool "tar: Enable seamless zstd support"
+ select PACKAGE_libzstd
+ default y
endif
endef
CONFIGURE_ARGS += \
$(if $(CONFIG_PACKAGE_TAR_POSIX_ACL),--with,--without)-posix-acls \
$(if $(CONFIG_PACKAGE_TAR_XATTR),--with,--without)-xattrs \
- $(if $(CONFIG_PACKAGE_TAR_GZIP),--with-gzip=gzip,--without-gzip) \
$(if $(CONFIG_PACKAGE_TAR_BZIP2),--with-bzip2=bzip2,--without-bzip2) \
+ $(if $(CONFIG_PACKAGE_TAR_GZIP),--with-gzip=gzip,--without-gzip) \
$(if $(CONFIG_PACKAGE_TAR_XZ),--with-xz=xz,--without-xz) \
+ $(if $(CONFIG_PACKAGE_TAR_ZSTD),--with-zstd=zstd,--without-zstd) \
--without-compress \
--without-lzip \
--without-lzma \
--without-lzop \
- --without-selinux
+ --without-selinux \
+ --disable-rpath
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)" \
PKG_NAME:=xz
PKG_VERSION:=5.2.4
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/lzmautils
--disable-werror \
--with-pic
+CONFIGURE_VARS += \
+ gl_cv_posix_shell=/bin/sh
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) \
$(eval $(call BuildSubPackage,lzmainfo, +liblzma,))
$(eval $(call BuildSubPackage,xz, +liblzma, lzcat lzma unlzma unxz xzcat))
$(eval $(call BuildSubPackage,xzdec, +liblzma,))
-$(eval $(call BuildSubPackage,xzdiff, +bash +xz, lzcmp lzdiff xzcmp))
-$(eval $(call BuildSubPackage,xzgrep, +bash +xz, lzegrep lzfgrep lzgrep xzegrep xzfgrep))
-$(eval $(call BuildSubPackage,xzless, +bash +xz, lzless))
-$(eval $(call BuildSubPackage,xzmore, +bash +xz, lzmore))
+$(eval $(call BuildSubPackage,xzdiff, +xz, lzcmp lzdiff xzcmp))
+$(eval $(call BuildSubPackage,xzgrep, +xz, lzegrep lzfgrep lzgrep xzegrep xzfgrep))
+$(eval $(call BuildSubPackage,xzless, +xz, lzless))
+$(eval $(call BuildSubPackage,xzmore, +xz, lzmore))