include $(TOPDIR)/rules.mk
PKG_NAME:=syslog-ng
-PKG_VERSION:=3.32.1
+PKG_VERSION:=3.33.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/syslog-ng/syslog-ng/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
-PKG_HASH:=19e3b76552d82c71c04230526925402c9f05fa5e6ea19b912b061850929b712d
+PKG_HASH:=35913654582947705a5679c9a2dcd4d25b4c98f3f3734cd55e94c5c780c22877
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
--enable-json=yes \
--enable-http=yes \
--disable-smtp \
+ --disable-mqtt \
--disable-redis \
--disable-dependency-tracking \
--disable-python \
# More details about these settings can be found here:
# https://www.syslog-ng.com/technical-documents/list/syslog-ng-open-source-edition
-@version: 3.31
+@version: 3.33
@include "scl.conf"
options {
include $(TOPDIR)/rules.mk
GO_VERSION_MAJOR_MINOR:=1.16
-GO_VERSION_PATCH:=5
+GO_VERSION_PATCH:=6
PKG_NAME:=golang
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80
+PKG_HASH:=a3a5d4bc401b51db065e4f93b523347a4d343ae0c0b08a65c3423b05a138037d
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=BSD-3-Clause
--- /dev/null
+#
+# Copyright (C) 2021 Siger Yang <sigeryeung@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=luaossl
+PKG_VERSION:=20200709
+PKG_RELEASE:=1
+PKG_MAINTAINER:=Siger Yang <sigeryeung@gmail.com>
+
+PKG_MIRROR_HASH:=6dbca3cdc50ed7e3b0821783da2407accfb6d25addc3edf1d8e17b00530f5a25
+PKG_SOURCE_URL:=https://github.com/wahern/luaossl.git
+PKG_SOURCE_VERSION:=rel-$(PKG_VERSION)
+PKG_SOURCE_PROTO:=git
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/luaossl
+ SUBMENU:=Lua
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Comprehensive binding to OpenSSL for Lua 5.1, 5.2, and later
+ URL:=http://25thandclement.com/~william/projects/luaossl.html
+ DEPENDS:=+liblua +libopenssl
+endef
+
+define Package/luaossl/description
+ luaossl is a comprehensive binding to OpenSSL for Lua 5.1, 5.2, and
+ later. It includes support for certificate and key management, key
+ generation, signature verification, and deep bindings to the
+ distinguished name, alternative name, and X.509v3 extension interfaces.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_LDFLAGS += $(FPIC)
+
+MAKE_FLAGS += \
+ LUA_APIS="5.1" \
+ lua51cpath="/usr/lib/lua" \
+ lua51path="/usr/lib/lua"
+
+define Package/luaossl/install
+ $(INSTALL_DIR) $(1)/usr/lib/lua
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/_openssl.so $(1)/usr/lib/lua/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/openssl.lua $(1)/usr/lib/lua/
+
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/openssl $(1)/usr/lib/lua/
+endef
+
+$(eval $(call BuildPackage,luaossl))
-cffi==1.14.5 --hash=sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c
+cffi==1.14.6 --hash=sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd
pycparser==2.20 --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0
include $(TOPDIR)/rules.mk
PKG_NAME:=pillow
-PKG_VERSION:=8.3.0
+PKG_VERSION:=8.3.1
PKG_RELEASE:=1
PYPI_NAME:=Pillow
-PKG_HASH:=803606e206f3e366eea46b1e7ab4dac74cfac770d04de9c35319814e11e47c46
+PKG_HASH:=2cac53839bfc5cece8fdbe7f084d5e3ee61e1303cccc86511d351adcb9e2c792
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=HPND
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cffi
-PKG_VERSION:=1.14.5
+PKG_VERSION:=1.14.6
PKG_RELEASE:=1
PYPI_NAME:=cffi
-PKG_HASH:=fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c
+PKG_HASH:=c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=python-simplejson
-PKG_VERSION:=3.17.2
+PKG_VERSION:=3.17.3
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_CPE_ID:=cpe:/a:simplejson_project:simplejson
PYPI_NAME:=simplejson
-PKG_HASH:=75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841
+PKG_HASH:=da72a452bcf4349fc467a12b54ab0e63e654a571cacc44084826d52bde12b6ee
+PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
TITLE:=Simple, fast, extensible JSON encoder/decoder
URL:=https://simplejson.readthedocs.org/
DEPENDS:=+python3-light +python3-decimal
include ../python3-version.mk
PKG_NAME:=python3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
define Package/python3-dbm
$(call Package/python3/Default)
TITLE:=Python $(PYTHON3_VERSION) dbm module
- DEPENDS:=+python3-light +libdb47
+ DEPENDS:=+python3-light +libgdbm
endef
$(eval $(call Py3BasePackage,python3-dbm, \
/usr/lib/python$(PYTHON3_VERSION)/dbm \
/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_dbm.$(PYTHON3_SO_SUFFIX) \
+ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_gdbm.$(PYTHON3_SO_SUFFIX) \
))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python3-gdbm
-$(call Package/python3/Default)
- TITLE:=Python $(PYTHON3_VERSION) gdbm module
- DEPENDS:=+python3-light +libgdbm
-endef
-
-$(eval $(call Py3BasePackage,python3-gdbm, \
- /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_gdbm.$(PYTHON3_SO_SUFFIX) \
-))
include $(TOPDIR)/rules.mk
PKG_NAME:=ruby
-PKG_VERSION:=3.0.1
+PKG_VERSION:=3.0.2
PKG_RELEASE:=1
# First two numbes
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://cache.ruby-lang.org/pub/ruby/$(PKG_ABI_VERSION)/
-PKG_HASH:=d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2
+PKG_HASH:=570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
--- a/configure.ac
+++ b/configure.ac
-@@ -2441,7 +2441,10 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
+@@ -2471,7 +2471,10 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
rb_cv_coroutine=copy
],
[
--- /dev/null
+--- a/boost/predef/architecture/sparc.h
++++ b/boost/predef/architecture/sparc.h
+@@ -34,10 +34,10 @@ http://en.wikipedia.org/wiki/SPARC[SPARC
+
+ #if defined(__sparc__) || defined(__sparc)
+ # undef BOOST_ARCH_SPARC
+-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__)
++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
+ # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
+ # endif
+-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__)
++# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
+ # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
+ # endif
+ # if !defined(BOOST_ARCH_SPARC)
PKG_NAME:=elektra
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.md
-PKG_VERSION:=0.9.2
-PKG_RELEASE:=3
+PKG_VERSION:=0.9.7
+PKG_RELEASE:=1
# Use this for official releasees
-PKG_HASH:=6f2fcf8aaed8863e1cc323265ca2617751ca50dac974b43a0811bcfd4a511f2e
+PKG_HASH:=12b7b046004db29317b7b937dc794abf719c400ba3115af8d41849127b562681
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://ftp.libelektra.org/ftp/elektra/releases
define CONTENT_ELEKTRA_PLUGINS_TEXT
base64 conditionals csvstorage date file filecheck glob hexcode
-hexnumber hidden hosts iconv ipaddr keytometa line lineendings list
-mathcheck macaddr mini network null path profile quickdump
+hexnumber hosts iconv ipaddr keytometa line lineendings list
+mathcheck macaddr mini network path profile quickdump
range reference rgbcolor shell syslog type uname unit validation
endef
$(CONTENT_ELEKTRA_CPP)
endef
-define Package/libelektra-boost
- $(call Package/libelektra/Default)
- TITLE:=Elektra plugins depending on boost
- DEPENDS:=+libelektra-core +libstdcpp +boost
-endef
-
-define Package/libelektra-boost/description
-$(call Package/libelektra/Default-description)
-
-This package contains plugins written in C++ with an dependency on
-boost. Currently this is a plugin for a tcl like format.
-endef
-
define Package/libelektra-crypto
$(call Package/libelektra/Default)
TITLE:=Elektra crypto plugin
changes.
endef
+define Package/libelektra-ev
+ $(call Package/libelektra/Default)
+ TITLE:=Elektra libev binding plugin
+ DEPENDS:=+libelektra-core +libev
+endef
+
+define Package/libelektra-ev/description
+$(call Package/libelektra/Default-description)
+
+This package contains support for notification on configuration
+changes via libev events.
+endef
+
+define Package/libelektra-uv
+ $(call Package/libelektra/Default)
+ TITLE:=Elektra libuv binding plugin
+ DEPENDS:=+libelektra-core +libuv
+endef
+
+define Package/libelektra-uv/description
+$(call Package/libelektra/Default-description)
+
+This package contains support for notification on configuration
+changes via libuv events.
+endef
+
define Package/libelektra-xerces
$(call Package/libelektra/Default)
TITLE:=Elektra xerces based xml plugin
define CONTENT_EXTRA_PLUGINS_TEXT
blockresolver c constants counter desktop dpkg error fcrypt
fstab logchange mozprefs passwd process rename
-timeofday tracer yamlsmith
+timeofday tracer
endef
CONTENT_ELEKTRA_EXTRA:=$(strip $(CONTENT_EXTRA_PLUGINS_TEXT))
-DFORCE_IN_SOURCE_BUILD=ON \
-DBUILD_TESTING=OFF \
-DKDB_DEFAULT_RESOLVER=resolver_fm_pb_b \
- -DKDB_DEFAULT_STORAGE=ini \
+ -DKDB_DEFAULT_STORAGE=toml \
-DENABLE_OPTIMIZATIONS=OFF \
- -DPLUGINS="ALL;-gpgme;-internalnotification;-multifile;-simpleini" \
+ -DPLUGINS="ALL;-gpgme;-multifile;-simpleini" \
-DIconv_INCLUDE_DIR="$(ICONV_PREFIX)/include" \
-DIconv_LIBRARY="$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)" \
- -DBINDINGS="MAINTAINED;-intercept_env;-intercept_fs;-io_uv;-io_ev;-io_glib"
+ -DBINDINGS="MAINTAINED;-intercept_env;-intercept_fs;-io_glib"
define Package/libelektra-core/install
$(INSTALL_DIR) $(1)/etc/kdb/
+ $(INSTALL_DIR) $(1)/etc/profile.d/
$(INSTALL_DIR) $(1)/usr/lib/
+ $(INSTALL_DATA) files/elektra.profile $(1)/etc/profile.d/elektra.sh
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-core.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ease.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-globbing.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-kdb.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-merge.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-meta.so* $(1)/usr/lib/
- #The next is excluded because of an upstream bug
- #$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-notification.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-notification.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-opts.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-plugin.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-pluginprocess.so* $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-proposal.so* $(1)/usr/lib/
#The next is only supported with glibc, so skip it.
#$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektraintercept-* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver_fm_pb_b.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-utility.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-cache.so $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-internalnotification.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-mmapstorage.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ni.so $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ini.so $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-spec.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-sync.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-storage.so $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-toml.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver.so $(1)/usr/lib/
endef
$(CP) $(foreach plugin,$(CONTENT_ELEKTRA_PLUGINS),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
endef
-define Package/libelektra-boost/install
- $(INSTALL_DIR) $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-tcl.so $(1)/usr/lib/
-endef
-
define Package/libelektra-cpp/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(foreach plugin,$(CONTENT_ELEKTRA_CPP),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-dbusrecv.so $(1)/usr/lib/
endef
+define Package/libelektra-ev/install
+ $(INSTALL_DIR) $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-io-ev.so $(1)/usr/lib/
+endef
+
+define Package/libelektra-uv/install
+ $(INSTALL_DIR) $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-io-uv.so $(1)/usr/lib/
+endef
+
define Package/libelektra-xerces/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-xerces.so $(1)/usr/lib/
$(eval $(call BuildPackage,elektra-kdb))
$(eval $(call BuildPackage,libelektra-resolvers))
$(eval $(call BuildPackage,libelektra-plugins))
-$(eval $(call BuildPackage,libelektra-boost))
$(eval $(call BuildPackage,libelektra-cpp))
$(eval $(call BuildPackage,libelektra-curlget))
$(eval $(call BuildPackage,libelektra-crypto))
$(eval $(call BuildPackage,libelektra-dbus))
+$(eval $(call BuildPackage,libelektra-ev))
+$(eval $(call BuildPackage,libelektra-uv))
$(eval $(call BuildPackage,libelektra-xerces))
-$(eval $(call BuildPackage,libelektra-yamlcpp))
$(eval $(call BuildPackage,libelektra-xml))
$(eval $(call BuildPackage,libelektra-yajl))
+$(eval $(call BuildPackage,libelektra-yamlcpp))
$(eval $(call BuildPackage,libelektra-python3))
$(eval $(call BuildPackage,libelektra-lua))
$(eval $(call BuildPackage,libelektra-zmq))
--- /dev/null
+export XDG_CACHE_HOME=/tmp/
+++ /dev/null
-From 7b57dc698834937b6913887544c6416e7f39192d Mon Sep 17 00:00:00 2001
-From: Mihael Pranjic <mpranj@limun.org>
-Date: Mon, 26 Apr 2021 14:53:21 +0200
-Subject: [PATCH] kdb: add missing <limits> include
-
----
- src/tools/kdb/cmdline.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/tools/kdb/cmdline.cpp
-+++ b/src/tools/kdb/cmdline.cpp
-@@ -16,6 +16,7 @@
-
- #include <cstdio>
- #include <iostream>
-+#include <limits>
- #include <set>
- #include <vector>
-
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_INSTALL:=1
+PKG_INSTALL:=2
PKG_BUILD_PARALLEL:=0
include $(INCLUDE_DIR)/package.mk
endef
CONFIGURE_ARGS += \
- --enable-shared \
- --enable-static
+ --enable-libgdbm-compat \
+ --enable-shared
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/gdbm.h $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/{gdbm,ndbm}.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgdbm.{a,so*} $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgdbm.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgdbm_compat.so* $(1)/usr/lib/
endef
define Package/libgdbm/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgdbm.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgdbm_compat.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libgdbm))
PKG_NAME:=ibrcommon
PKG_VERSION:=1.0.1
-PKG_RELEASE:=8
+PKG_RELEASE:=9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
CONFIGURE_ARGS += \
--with-openssl
+TARGET_CXXFLAGS += -std=c++11
+
define Package/ibrcommon/description
A library with common functions for C++.
endef
PKG_NAME:=ibrdtn
PKG_VERSION:=1.0.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
--with-compression \
--without-glib
+TARGET_CXXFLAGS +=-std=c++11
+
define Build/InstallDev
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
include $(TOPDIR)/rules.mk
PKG_NAME:=libuv
-PKG_VERSION:=1.41.0
+PKG_VERSION:=1.41.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://dist.libuv.org/dist/v$(PKG_VERSION)/
-PKG_HASH:=1184533907e1ddad9c0dcd30a5abb0fe25288c287ff7fee303fff7b9b2d6eb6e
+PKG_HASH:=65db0c7f2438bc8cd48865de282bf6670027f3557d6e3cb62fb65b2e350a687d
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
+++ /dev/null
-From b7466e31e4bee160d82a68fca11b1f61d46debae Mon Sep 17 00:00:00 2001
-From: Ben Noordhuis <info@bnoordhuis.nl>
-Date: Fri, 21 May 2021 11:23:36 +0200
-Subject: [PATCH] idna: fix OOB read in punycode decoder
-
-libuv was vulnerable to out-of-bounds reads in the uv__idna_toascii()
-function which is used to convert strings to ASCII. This is called by
-the DNS resolution function and can lead to information disclosures or
-crashes.
-
-Reported by Eric Sesterhenn in collaboration with Cure53 and ExpressVPN.
-
-Reported-By: Eric Sesterhenn <eric.sesterhenn@x41-dsec.de>
-Fixes: https://github.com/libuv/libuv/issues/3147
-PR-URL: https://github.com/libuv/libuv-private/pull/1
-Refs: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918
-Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
-Reviewed-By: Richard Lau <riclau@uk.ibm.com>
----
- src/idna.c | 49 +++++++++++++++++++++++++++++++++++-------------
- test/test-idna.c | 19 +++++++++++++++++++
- test/test-list.h | 2 ++
- 3 files changed, 57 insertions(+), 13 deletions(-)
-
---- a/src/idna.c
-+++ b/src/idna.c
-@@ -19,6 +19,7 @@
-
- #include "uv.h"
- #include "idna.h"
-+#include <assert.h>
- #include <string.h>
-
- static unsigned uv__utf8_decode1_slow(const char** p,
-@@ -32,7 +33,7 @@ static unsigned uv__utf8_decode1_slow(co
- if (a > 0xF7)
- return -1;
-
-- switch (*p - pe) {
-+ switch (pe - *p) {
- default:
- if (a > 0xEF) {
- min = 0x10000;
-@@ -62,6 +63,8 @@ static unsigned uv__utf8_decode1_slow(co
- a = 0;
- break;
- }
-+ /* Fall through. */
-+ case 0:
- return -1; /* Invalid continuation byte. */
- }
-
-@@ -88,6 +91,8 @@ static unsigned uv__utf8_decode1_slow(co
- unsigned uv__utf8_decode1(const char** p, const char* pe) {
- unsigned a;
-
-+ assert(*p < pe);
-+
- a = (unsigned char) *(*p)++;
-
- if (a < 128)
-@@ -96,9 +101,6 @@ unsigned uv__utf8_decode1(const char** p
- return uv__utf8_decode1_slow(p, pe, a);
- }
-
--#define foreach_codepoint(c, p, pe) \
-- for (; (void) (*p <= pe && (c = uv__utf8_decode1(p, pe))), *p <= pe;)
--
- static int uv__idna_toascii_label(const char* s, const char* se,
- char** d, char* de) {
- static const char alphabet[] = "abcdefghijklmnopqrstuvwxyz0123456789";
-@@ -121,15 +123,22 @@ static int uv__idna_toascii_label(const
- ss = s;
- todo = 0;
-
-- foreach_codepoint(c, &s, se) {
-+ /* Note: after this loop we've visited all UTF-8 characters and know
-+ * they're legal so we no longer need to check for decode errors.
-+ */
-+ while (s < se) {
-+ c = uv__utf8_decode1(&s, se);
-+
-+ if (c == -1u)
-+ return UV_EINVAL;
-+
- if (c < 128)
- h++;
-- else if (c == (unsigned) -1)
-- return UV_EINVAL;
- else
- todo++;
- }
-
-+ /* Only write "xn--" when there are non-ASCII characters. */
- if (todo > 0) {
- if (*d < de) *(*d)++ = 'x';
- if (*d < de) *(*d)++ = 'n';
-@@ -137,9 +146,13 @@ static int uv__idna_toascii_label(const
- if (*d < de) *(*d)++ = '-';
- }
-
-+ /* Write ASCII characters. */
- x = 0;
- s = ss;
-- foreach_codepoint(c, &s, se) {
-+ while (s < se) {
-+ c = uv__utf8_decode1(&s, se);
-+ assert(c != -1u);
-+
- if (c > 127)
- continue;
-
-@@ -166,10 +179,15 @@ static int uv__idna_toascii_label(const
- while (todo > 0) {
- m = -1;
- s = ss;
-- foreach_codepoint(c, &s, se)
-+
-+ while (s < se) {
-+ c = uv__utf8_decode1(&s, se);
-+ assert(c != -1u);
-+
- if (c >= n)
- if (c < m)
- m = c;
-+ }
-
- x = m - n;
- y = h + 1;
-@@ -181,7 +199,10 @@ static int uv__idna_toascii_label(const
- n = m;
-
- s = ss;
-- foreach_codepoint(c, &s, se) {
-+ while (s < se) {
-+ c = uv__utf8_decode1(&s, se);
-+ assert(c != -1u);
-+
- if (c < n)
- if (++delta == 0)
- return UV_E2BIG; /* Overflow. */
-@@ -245,8 +266,6 @@ static int uv__idna_toascii_label(const
- return 0;
- }
-
--#undef foreach_codepoint
--
- long uv__idna_toascii(const char* s, const char* se, char* d, char* de) {
- const char* si;
- const char* st;
-@@ -256,10 +275,14 @@ long uv__idna_toascii(const char* s, con
-
- ds = d;
-
-- for (si = s; si < se; /* empty */) {
-+ si = s;
-+ while (si < se) {
- st = si;
- c = uv__utf8_decode1(&si, se);
-
-+ if (c == -1u)
-+ return UV_EINVAL;
-+
- if (c != '.')
- if (c != 0x3002) /* 。 */
- if (c != 0xFF0E) /* . */
include $(TOPDIR)/rules.mk
PKG_NAME:=nss
-PKG_VERSION:=3.65
-PKG_RELEASE:=1
+PKG_VERSION:=3.67
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
https://download.cdn.mozilla.net/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src \
https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src
-PKG_HASH:=32170f6c188212a78bf9fdacffa2eeed0d564ef8faae63fd8ae971b208e8c637
+PKG_HASH:=f6549a9148cd27b394b40c77fa73111d5ea23cdb51d796665de1b7458f88ce7f
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_LICENCE:=MPL-2.0
PKG_LICENSE_FILES:=nss/COPYING
PKG_CPE_ID:=cpe:/a:mozilla:network_security_services
-PKG_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=0
include $(INCLUDE_DIR)/package.mk
PKG_NAME:=uci2
PKG_VERSION:=1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=https://github.com/sartura/uci2.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=24b7471a0aead99115c189f04236f5fe52492579
-PKG_MIRROR_HASH:=ea8f4627163ce40f62393a87a0155869f034bb78c9f7fb644f18461cbdaf5333
+PKG_SOURCE_DATE:=2021-07-12
+PKG_SOURCE_VERSION:=56064182acdd8fa522abab67fdbaa10c2a28165c
+PKG_MIRROR_HASH:=94059a5cf110ecc04cfb9a8ffc160f9bd6a03518d4c4b195500d8eff001be9aa
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_DATE).tar.gz
PKG_MAINTAINER:=Jakov Petrina <jakov.petrina@sartura.hr>
PKG_LICENSE:=BSD-3-Clause
PKG_NAME:=addrwatch
PKG_VERSION:=1.0.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/fln/addrwatch/releases/download/v$(PKG_VERSION)
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
+PKG_BUILD_DEPENDS:=USE_MUSL:argp-standalone
+PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
-define Package/addrwatch
+define Package/addrwatch/Default
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+libpcap +libevent2
TITLE:=IPv4/IPv6 and ethernet address pairing tool
URL:=https://github.com/fln/addrwatch
endef
-define Package/addrwatch/description
+define Package/addrwatch/Default/description
This is a tool similar to arpwatch. It main purpose is to monitor network and
log discovered ethernet/ip pairings. Addrwatch is extremely useful in networks
with IPv6 autoconfiguration (RFC4862) enabled. It allows to track IPv6
addresses of hosts using IPv6 privacy extensions (RFC4941).
endef
+define Package/addrwatch
+$(call Package/addrwatch/Default)
+ DEPENDS:=+libpcap +libevent2
+endef
+
+define Package/addrwatch/description
+$(call Package/addrwatch/Default/description)
+
+ This contains the main addrwatch program.
+endef
+
+define Package/addrwatch-mysql
+$(call Package/addrwatch/Default)
+ TITLE+= (MySQL output module)
+ DEPENDS:=+addrwatch +libmariadb
+endef
+
+define Package/addrwatch-mysql/description
+$(call Package/addrwatch/Default/description)
+
+ This contains the MySQL output module.
+endef
+
+define Package/addrwatch-stdout
+$(call Package/addrwatch/Default)
+ TITLE+= (stdout output module)
+ DEPENDS:=+addrwatch
+endef
+
+define Package/addrwatch-stdout/description
+$(call Package/addrwatch/Default/description)
+
+ This contains the stdout output module.
+endef
+
+define Package/addrwatch-syslog
+$(call Package/addrwatch/Default)
+ TITLE+= (syslog output module)
+ DEPENDS:=+addrwatch
+endef
+
+define Package/addrwatch-syslog/description
+$(call Package/addrwatch/Default/description)
+
+ This contains the syslog output module.
+endef
+
define Package/addrwatch/conffiles
/etc/config/addrwatch
endef
+CONFIGURE_ARGS+= \
+ --enable-mysql
+
define Package/addrwatch/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/config $(1)/etc/init.d
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/addrwatch $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/addrwatch $(1)/usr/sbin/
$(INSTALL_BIN) ./files/addrwatch.init $(1)/etc/init.d/addrwatch
$(INSTALL_CONF) ./files/addrwatch.config $(1)/etc/config/addrwatch
endef
+define Package/addrwatch-mysql/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/addrwatch_mysql $(1)/usr/sbin/
+endef
+
+define Package/addrwatch-stdout/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/addrwatch_stdout $(1)/usr/sbin/
+endef
+
+define Package/addrwatch-syslog/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/addrwatch_syslog $(1)/usr/sbin/
+endef
+
$(eval $(call BuildPackage,addrwatch))
+$(eval $(call BuildPackage,addrwatch-mysql))
+$(eval $(call BuildPackage,addrwatch-stdout))
+$(eval $(call BuildPackage,addrwatch-syslog))
config addrwatch
- option disabled '0'
+ option enabled '0'
list interface 'lan'
#list interface 'wan'
- #option syslog '1'
+ #option syslog '0'
#option verbose '0'
#option output '/var/log/addrwatch'
#list blacklist '192.168.1.1'
#option hashsize '1'
- #option ratelimit '-1'
+ #option ratelimit '0'
validate_section_addrwatch() {
uci_load_validate addrwatch addrwatch "$1" "$2" \
- 'disabled:bool:0' \
+ 'enabled:bool:0' \
'interface:list(string):lan' \
- 'syslog:bool:1' \
+ 'syslog:bool:0' \
'output:string' \
- 'quiet:bool:0' \
'verbose:bool:0' \
'ipv4only:bool:0' \
'ipv6only:bool:0' \
'blacklist:list(or(ip4addr,ip6addr))' \
- 'hashsize:range(1,65536):1024'\
- 'ratelimit:integer:3600'
+ 'hashsize:range(1,65536):1'\
+ 'ratelimit:integer:0'
}
start_instance() {
echo "validation of config $cfg failed"
return 1
}
- [ $disabled -ne 0 ] && return 1
+ [ $enabled -eq 1 ] || return 1
for iface in $interface; do
local netdev
done
procd_open_instance
- procd_set_param command /usr/sbin/addrwatch
- [ "$syslog" -eq 1 ] && procd_append_param command --syslog
- [ -n "$output" ] && procd_append_param command --output "$output"
- [ "$quiet" -eq 1 ] && procd_append_param command --quiet
- [ "$verbose" -eq 1 ] && procd_append_param command --verbose
- [ "$ipv4only" -eq 1 ] && procd_append_param command --ipv4only
- [ "$ipv6only" -eq 1 ] && procd_append_param command --ipv6only
- [ -n "$hashsize" ] && procd_append_param command --hashsize "$hashsize"
- [ -n "$ratelimit" ] && procd_append_param command --ratelimit "$ratelimit"
+ procd_set_param command /usr/sbin/addrwatch --quiet
+ [ -n "$output" ] && procd_append_param command "--output=$output"
+ [ "$verbose" -eq 1 ] && procd_append_param command "--verbose"
+ [ "$ipv4only" -eq 1 ] && procd_append_param command "--ipv4-only"
+ [ "$ipv6only" -eq 1 ] && procd_append_param command "--ipv6-only"
+ [ -n "$hashsize" ] && procd_append_param command "--hashsize=$hashsize"
+ [ -n "$ratelimit" ] && procd_append_param command "--ratelimit=$ratelimit"
for blitem in $blacklist; do
procd_append_param command "--blacklist=$blitem"
done
done
procd_close_trigger
procd_close_instance
+
+ [ "$syslog" -eq 1 ] && {
+ if [ -x /usr/sbin/addrwatch_syslog ]; then
+ procd_open_instance
+ procd_set_param command /usr/sbin/addrwatch_syslog
+ procd_set_param respawn
+ procd_close_instance
+ else
+ echo "Cannot find /usr/sbin/addrwatch_syslog" >&2
+ echo "Install the addrwatch-syslog package to enable syslog output" >&2
+ fi
+ }
}
start_service() {
--- /dev/null
+From 374cfd2cabe4db9882d8a210adff430cc579f859 Mon Sep 17 00:00:00 2001
+From: Julius Kriukas <julius@kriukas.lt>
+Date: Sun, 8 Mar 2020 12:46:55 +0200
+Subject: [PATCH] Use HOST_NAME_MAX+1 to add space for null byte
+
+---
+ src/addrwatch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/addrwatch.c
++++ b/src/addrwatch.c
+@@ -501,7 +501,7 @@ int main(int argc, char *argv[])
+ argp_parse(&argp, argc, argv, 0, &optind, 0);
+
+ if (!cfg.hostname) {
+- cfg.hostname_len = HOST_NAME_MAX;
++ cfg.hostname_len = HOST_NAME_MAX + 1;
+ cfg.hostname = (char *)calloc(cfg.hostname_len, sizeof(char));
+ gethostname(cfg.hostname, cfg.hostname_len);
+ }
--- /dev/null
+From 1988f6228225e10bccc50941798f1e1b4ca1ff62 Mon Sep 17 00:00:00 2001
+From: Jeffery To <jeffery.to@gmail.com>
+Date: Fri, 18 Jun 2021 15:46:47 +0800
+Subject: [PATCH] More specific library linking
+
+Currently, the main binary and all output modules are linked to the same
+set of libraries. This changes the linking so that only the main binary
+is linked to pcap, and only addrwatch_mysql is linked to mysqlclient.
+
+This allows the main binary and output modules to be packaged separately
+with fewer dependencies for each individual package.
+---
+ configure.ac | 4 ++--
+ src/Makefile.am | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,7 +12,7 @@ optional_modules=""
+ AC_SUBST([optional_modules])
+
+ # Checks for libraries.
+-AC_CHECK_LIB([pcap], [pcap_open_live])
++AC_CHECK_LIB([pcap], [pcap_open_live], :)
+ AC_CHECK_LIB([rt], [shm_open])
+
+ PKG_CHECK_MODULES(LIBEVENT, [libevent >= 1.4], , [
+@@ -46,7 +46,7 @@ AC_ARG_ENABLE([sqlite3],
+ )
+ AC_ARG_ENABLE([mysql],
+ AS_HELP_STRING([--enable-mysql], [Enable MySQL database output]),
+- AC_CHECK_LIB([mysqlclient], [mysql_real_connect], , [
++ AC_CHECK_LIB([mysqlclient], [mysql_real_connect], :, [
+ AC_MSG_ERROR([Unable to find libmysqlclient.])
+ ])
+ optional_modules="${optional_modules} addrwatch_mysql"
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -9,5 +9,6 @@ addrwatch_stdout_SOURCES = addrwatch_std
+ addrwatch_syslog_SOURCES = addrwatch_syslog.c shm_client.c shm_client.h
+ addrwatch_mysql_SOURCES = addrwatch_mysql.c shm_client.c shm_client.h util.c util.h
+
+-addrwatch_LDADD = @LIBEVENT_LIBS@
++addrwatch_LDADD = @LIBEVENT_LIBS@ -lpcap
++addrwatch_mysql_LDADD = -lmysqlclient
+
--- /dev/null
+From 11f224baeede709a181a9ccb01558ff39432a994 Mon Sep 17 00:00:00 2001
+From: Jeffery To <jeffery.to@gmail.com>
+Date: Mon, 5 Jul 2021 04:23:19 +0800
+Subject: [PATCH] Use C99 format macro constants for timestamp and vlan_tag
+
+Since timestamp and vlan_tag in the shm_log_entry struct are C99 fixed
+width integer types (uint64_t and uint16_t), the cross-platform way to
+print these values is to use the corresponding format macro
+constants[1], PRIu64 and PRIu16.
+
+This also adjusts the places where the time_t timestamp value is
+printed, casting it to uint64_t, for consistency.
+
+Fixes https://github.com/fln/addrwatch/issues/25
+Fixes https://github.com/fln/addrwatch/issues/26
+
+[1]: https://en.cppreference.com/w/c/types/integer#Format_macro_constants
+---
+ configure.ac | 2 +-
+ src/addrwatch.c | 2 +-
+ src/addrwatch_stdout.c | 2 +-
+ src/addrwatch_syslog.c | 2 +-
+ src/base64.h | 2 +-
+ src/common.h | 2 +-
+ src/mcache.h | 2 +-
+ src/output_flatfile.c | 4 ++--
+ src/parse.c | 2 +-
+ src/shm.h | 2 +-
+ src/shm_client.c | 2 +-
+ src/storage.c | 2 +-
+ src/util.h | 2 +-
+ 13 files changed, 14 insertions(+), 14 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,7 +53,7 @@ AC_ARG_ENABLE([mysql],
+ )
+
+ # Checks for header files.
+-AC_CHECK_HEADERS([arpa/inet.h netinet/in.h stdint.h stdlib.h syslog.h unistd.h])
++AC_CHECK_HEADERS([arpa/inet.h netinet/in.h inttypes.h stdlib.h syslog.h unistd.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_INLINE
+--- a/src/addrwatch.c
++++ b/src/addrwatch.c
+@@ -3,7 +3,7 @@
+ #include <limits.h>
+ #include <pwd.h>
+ #include <signal.h>
+-#include <stdint.h>
++#include <inttypes.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--- a/src/addrwatch_stdout.c
++++ b/src/addrwatch_stdout.c
+@@ -16,7 +16,7 @@ void process_entry(struct shm_log_entry
+ ip4_ntoa(e->ip_address, ip_str);
+ }
+
+- printf("%lu %s %u %s %s %s\n", e->timestamp, e->interface, e->vlan_tag,
++ printf("%" PRIu64 " %s %" PRIu16 " %s %s %s\n", e->timestamp, e->interface, e->vlan_tag,
+ mac_str, ip_str, pkt_origin_str[e->origin]);
+ }
+
+--- a/src/addrwatch_syslog.c
++++ b/src/addrwatch_syslog.c
+@@ -18,7 +18,7 @@ void process_entry(struct shm_log_entry
+ ip4_ntoa(e->ip_address, ip_str);
+ }
+
+- syslog(LOG_INFO, "%lu %s %u %s %s %s", e->timestamp, e->interface,
++ syslog(LOG_INFO, "%" PRIu64 " %s %" PRIu16 " %s %s %s", e->timestamp, e->interface,
+ e->vlan_tag, mac_str, ip_str, pkt_origin_str[e->origin]);
+ }
+
+--- a/src/base64.h
++++ b/src/base64.h
+@@ -2,7 +2,7 @@
+ #define BASE64_H
+
+ #include "addrwatch.h"
+-#include <stdint.h>
++#include <inttypes.h>
+
+ void base64_encode(const uint8_t *src, char *dst, int ssize, int dsize);
+ char *base64_encode_packet(struct pkt *p);
+--- a/src/common.h
++++ b/src/common.h
+@@ -2,7 +2,7 @@
+ #define COMMON_H
+
+ #include <arpa/inet.h>
+-#include <stdint.h>
++#include <inttypes.h>
+ #include <stdio.h>
+ #include <sys/socket.h>
+
+--- a/src/mcache.h
++++ b/src/mcache.h
+@@ -6,7 +6,7 @@
+
+ #include <sys/types.h>
+ #include <netinet/if_ether.h>
+-#include <stdint.h>
++#include <inttypes.h>
+
+ struct mcache_node {
+ uint8_t l2_addr[ETHER_ADDR_LEN];
+--- a/src/output_flatfile.c
++++ b/src/output_flatfile.c
+@@ -22,8 +22,8 @@ void output_flatfile_reload()
+ void output_flatfile_save(struct pkt *p, char *mac_str, char *ip_str)
+ {
+ if (cfg.data_fd) {
+- fprintf(cfg.data_fd, "%lu %s %u %s %s %s\n",
+- p->pcap_header->ts.tv_sec, p->ifc->name, p->vlan_tag,
++ fprintf(cfg.data_fd, "%" PRIu64 " %s %" PRIu16 " %s %s %s\n",
++ (uint64_t)p->pcap_header->ts.tv_sec, p->ifc->name, p->vlan_tag,
+ mac_str, ip_str, pkt_origin_str[p->origin]);
+ fflush(cfg.data_fd);
+ }
+--- a/src/parse.c
++++ b/src/parse.c
+@@ -1,4 +1,4 @@
+-//#include <stdint.h>
++//#include <inttypes.h>
+ //#include <stdio.h>
+ //#include <stdlib.h>
+
+--- a/src/shm.h
++++ b/src/shm.h
+@@ -4,7 +4,7 @@
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <netinet/if_ether.h>
+-#include <stdint.h>
++#include <inttypes.h>
+ #include <sys/socket.h>
+
+ #define DEFAULT_SHM_LOG_NAME "/addrwatch-shm-log"
+--- a/src/shm_client.c
++++ b/src/shm_client.c
+@@ -2,7 +2,7 @@
+
+ #include <fcntl.h>
+ #include <net/if.h>
+-#include <stdint.h>
++#include <inttypes.h>
+ #include <stdlib.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+--- a/src/storage.c
++++ b/src/storage.c
+@@ -129,7 +129,7 @@ void save_pairing(struct pkt *p)
+
+ output_shm_save(p, mac_str, ip_str);
+ if (!cfg.quiet) {
+- printf("%lu %s %u %s %s %s\n", tstamp, p->ifc->name,
++ printf("%" PRIu64 " %s %" PRIu16 " %s %s %s\n", (uint64_t)tstamp, p->ifc->name,
+ p->vlan_tag, mac_str, ip_str, pkt_origin_str[p->origin]);
+ fflush(stdout);
+ }
+--- a/src/util.h
++++ b/src/util.h
+@@ -5,7 +5,7 @@
+ #include "config.h"
+ #endif
+
+-#include <stdint.h>
++#include <inttypes.h>
+ #include <stdio.h>
+
+ #include <syslog.h>
include $(TOPDIR)/rules.mk
PKG_NAME:=apache
-PKG_VERSION:=2.4.46
-PKG_RELEASE:=2
+PKG_VERSION:=2.4.48
+PKG_RELEASE:=1
PKG_SOURCE_NAME:=httpd
PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@APACHE/httpd/
-PKG_HASH:=740eddf6e1c641992b22359cabc66e6325868c3c5e2e3f98faf349b61ecf41ea
+PKG_HASH:=1bc826e7b2e88108c7e4bf43c026636f77a41d849cfb667aa7b5c0b86dbf966c
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
--- a/modules/md/md_crypt.c
+++ b/modules/md/md_crypt.c
-@@ -708,23 +708,23 @@ const char *md_cert_get_serial_number(co
+@@ -1098,23 +1098,23 @@ const char *md_cert_get_serial_number(co
int md_cert_is_valid_now(const md_cert_t *cert)
{
+ return md_asn1_time_get(X509_get0_notBefore(cert->x509));
}
- int md_cert_covers_domain(md_cert_t *cert, const char *domain_name)
+ md_timeperiod_t md_cert_get_valid(const md_cert_t *cert)
--- a/modules/ssl/ssl_engine_init.c
+++ b/modules/ssl/ssl_engine_init.c
-@@ -226,7 +226,7 @@ apr_status_t ssl_init_Module(apr_pool_t
+@@ -231,7 +231,7 @@ apr_status_t ssl_init_Module(apr_pool_t
apr_status_t rv;
apr_array_header_t *pphrases;
"a newer library (%s, version currently loaded is %s)"
--- a/modules/ssl/ssl_engine_io.c
+++ b/modules/ssl/ssl_engine_io.c
-@@ -1255,9 +1255,9 @@ static apr_status_t ssl_io_filter_handsh
+@@ -1264,9 +1264,9 @@ static apr_status_t ssl_io_filter_handsh
if (dc->proxy->ssl_check_peer_expire != FALSE) {
if (!cert
|| (X509_cmp_current_time(
else if (*var && strcEQ(var+1, "_DN")) {
--- a/modules/ssl/ssl_private.h
+++ b/modules/ssl/ssl_private.h
-@@ -98,6 +98,9 @@
+@@ -99,6 +99,9 @@
#include <openssl/x509v3.h>
#include <openssl/x509_vfy.h>
#include <openssl/ocsp.h>
PKG_NAME:=proto-bonding
PKG_VERSION:=2021-04-09
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=
802.3ad)
echo "$bonding_policy" > /sys/class/net/"$link"/bonding/mode
- set_driver_values min_links ad_actor_sys_prio ad_actor_system ad_select lacp_rate
+ set_driver_values min_links ad_actor_sys_prio ad_actor_system ad_select lacp_rate xmit_hash_policy
;;
balance-rr)
include $(TOPDIR)/rules.mk
PKG_NAME:=dawn
-PKG_SOURCE_DATE:=2021-07-08
+PKG_SOURCE_DATE:=2021-07-11
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/berlin-open-wireless-lab/DAWN.git
-PKG_SOURCE_VERSION:=555268b91d50b545d99c5bad694566a0b408eecf
-PKG_MIRROR_HASH:=a2e49aff4fd0465755526ea696965b2ec726ef95ee11a5b7c0e6f718ab7336b3
+PKG_SOURCE_VERSION:=ec9a3a96e8c708a0ad85287fd3ed42cc0527e869
+PKG_MIRROR_HASH:=75e9ede98a04f6a740edb98426e891cc51923df1fb96ed24c244ae84a8cbe9e7
PKG_MAINTAINER:=Nick Hainke <vincent@systemli.org>
PKG_LICENSE:=GPL-2.0-only
--- /dev/null
+# SPDX-License-Identifier: GPL-3.0-only
+#
+# Copyright (C) 2021 ImmortalWrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dnslookup
+PKG_VERSION:=1.4.8
+PKG_RELEASE:=$(AUTORELESE)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/ameshkov/dnslookup/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=0086616a57e43b6d4f513b79ec99f997649d449729b366b40a83b09c23432c20
+
+PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+GO_PKG:=github.com/ameshkov/dnslookup
+GO_PKG_LDFLAGS:=-s -w
+GO_PKG_LDFLAGS_X:=main.VersionString=v$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/dnslookup
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=IP Addresses and Names
+ TITLE:=Simple command line utility to make DNS lookups to the specified server
+ URL:=https://github.com/ameshkov/dnslookup
+ DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle
+endef
+
+define Package/dnslookup/description
+ Simple command line utility to make DNS lookups.
+ Supports all known DNS protocols: plain DNS, DoH, DoT, DoQ, DNSCrypt.
+endef
+
+$(eval $(call GoBinPackage,dnslookup))
+$(eval $(call BuildPackage,dnslookup))
--- /dev/null
+#!/bin/sh
+
+dnslookup --version | grep "$PKG_VERSION"
--- /dev/null
+# SPDX-License-Identifier: GPL-3.0-only
+#
+# Copyright (C) 2021 ImmortalWrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dnsproxy
+PKG_VERSION:=0.38.2
+PKG_RELEASE:=$(AUTORELESE)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=cc240be1e6975cc782155427f45a3753beb647d0de44f2e9f734486fc19db379
+
+PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+GO_PKG:=github.com/AdguardTeam/dnsproxy
+GO_PKG_LDFLAGS:=-s -w
+GO_PKG_LDFLAGS_X:=main.VersionString=v$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/dnsproxy
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=IP Addresses and Names
+ TITLE:=Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
+ URL:=https://github.com/AdguardTeam/dnsproxy
+ DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle
+endef
+
+define Package/dnsproxy/description
+ A simple DNS proxy server that supports all existing DNS protocols including
+ DNS-over-TLS, DNS-over-HTTPS, DNSCrypt, and DNS-over-QUIC.Moreover, it can
+ work as a DNS-over-HTTPS, DNS-over-TLS or DNS-over-QUIC server.
+endef
+
+$(eval $(call GoBinPackage,dnsproxy))
+$(eval $(call BuildPackage,dnsproxy))
--- /dev/null
+#!/bin/sh
+
+dnsproxy --version | grep "$PKG_VERSION"
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=httptunnel
+PKG_VERSION:=3.3
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/larsbrinkhoff/httptunnel.git
+PKG_SOURCE_VERSION:=f213e0549a9ee79488a9be260495c2bae34918fb
+PKG_MIRROR_HASH:=bd2168ff97db19ef03b13882d51fa61bc942f5a4ad946bb79d45b7747ea0783d
+
+PKG_MAINTAINER:=Toni Uhlig <matzeton@googlemail.com>
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+PKG_FIXUP:=autoreconf
+PKG_REMOVE_FILES:=autogen.sh
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/httptunnel
+ TITLE:=Bidirectional data stream tunnelled in HTTP requests.
+ SECTION:=net
+ CATEGORY:=Network
+ URL:=http://github.com/larsbrinkhoff/httptunnel.git
+endef
+
+define Package/httptunnel/description
+ httptunnel creates a bidirectional virtual data path tunnelled in HTTP
+ requests. The requests can be sent via an HTTP proxy if so desired.
+endef
+
+define Package/httptunnel/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hts $(1)/usr/bin/hts
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/htc $(1)/usr/bin/htc
+endef
+
+$(eval $(call BuildPackage,httptunnel))
PKG_NAME:=ibrdtn-tools
PKG_VERSION:=1.0.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
CONFIGURE_ARGS += \
--without-libdaemon
+TARGET_CXXFLAGS += -std=c++11
+
define Package/ibrdtn-tools/install
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dtnping $(1)/usr/bin/dtnping
PKG_NAME:=ibrdtnd
PKG_VERSION:=1.0.1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
--without-vmime \
--disable-libdaemon
+TARGET_CXXFLAGS += -std=c++11
+
define Package/ibrdtnd/install
$(INSTALL_DIR) $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dtnd $(1)/usr/sbin/
PKG_NAME:=kplex
PKG_VERSION:=1.4
-PKG_RELEASE=2
+PKG_RELEASE=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://www.stripydog.com/download
--- /dev/null
+From a3dec2cbe5e539b5a270bed86eed78b283c79cdb Mon Sep 17 00:00:00 2001
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Thu, 27 May 2021 01:18:20 +0200
+Subject: [PATCH] add support for Sierra Wireless qcserial NMEA-0183 interface
+
+Sierra Wireless EM 74xx modems come with a serial port outputting
+NMEA-0183 GPS sentences. In order to make it work, the magic string
+'$GPS_START' needs to be written to the modem, as only then the modem
+firmware starts sending NMEA-0183 output.
+Add option 'sierragpsstart' which if set to anything else than 0 will
+make kplex send the magic string when the device is opened.
+---
+ serial.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+--- a/serial.c
++++ b/serial.c
+@@ -24,6 +24,7 @@
+ #include <pwd.h>
+
+ #define DEFSERIALQSIZE 32
++#define SIERRA_GPS_START "$GPS_START\n"
+
+ struct if_serial {
+ int fd;
+@@ -290,7 +291,8 @@ struct iface *init_serial (struct iface
+ int ret;
+ struct kopts *opt;
+ int qsize=DEFSERIALQSIZE;
+-
++ int send_gps_start = 0;
++
+ for(opt=ifa->options;opt;opt=opt->next) {
+ if (!strcasecmp(opt->var,"filename"))
+ devname=opt->val;
+@@ -324,7 +326,9 @@ struct iface *init_serial (struct iface
+ logerr(0,"Invalid queue size specified: %s",opt->val);
+ return(NULL);
+ }
+- } else {
++ } else if (!strcasecmp(opt->var, "sierragpsstart")) {
++ send_gps_start=atoi(opt->val);
++ } else {
+ logerr(0,"unknown interface option %s",opt->var);
+ return(NULL);
+ }
+@@ -337,7 +341,7 @@ struct iface *init_serial (struct iface
+ }
+
+ /* Open interface or die */
+- if ((ifs->fd=ttyopen(devname,ifa->direction)) < 0) {
++ if ((ifs->fd=ttyopen(devname, send_gps_start?BOTH:ifa->direction)) < 0) {
+ return(NULL);
+ }
+ DEBUG(3,"%s: opened serial device %s for %s",ifa->name,devname,
+@@ -358,6 +362,9 @@ struct iface *init_serial (struct iface
+ ifs->saved=1;
+ ifs->slavename=NULL;
+
++ if (send_gps_start)
++ write(ifs->fd, SIERRA_GPS_START, strlen(SIERRA_GPS_START));
++
+ /* Assign pointers to read, write and cleanup routines */
+ ifa->read=do_read;
+ ifa->readbuf=read_serial;
config OPENVPN_openssl_ENABLE_LZO
bool "Enable LZO compression support"
- default n
+ default y
config OPENVPN_openssl_ENABLE_LZ4
bool "Enable LZ4 compression support"
PKG_NAME:=openvpn
PKG_VERSION:=2.5.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=\
https://build.openvpn.net/downloads/releases/ \
#
# LZ4 requires OpenVPN 2.4+ client and server
# option compress lz4
+ # LZO is available by default only in openvpn-openssl variant
+ # LZO is compatible with most OpenVPN versions
+# option compress lzo
# Control how OpenVPN handles peers using compression
#
#
# LZ4 requires OpenVPN 2.4+ on server and client
# option compress lz4
+ # LZO is available by default only in openvpn-openssl variant
+ # LZO is compatible with most OpenVPN versions
+# option compress lzo
# Set log file verbosity.
option verb 3
include $(TOPDIR)/rules.mk
PKG_NAME:=strongswan
-PKG_VERSION:=5.9.2
-PKG_RELEASE:=12
+PKG_VERSION:=5.9.3
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
-PKG_HASH:=61c72f741edb2c1295a7b7ccce0317a104b3f9d39efd04c52cd05b01b55ab063
+PKG_HASH:=9325ab56a0a4e97e379401e1d942ce3e0d8b6372291350ab2caae0755862c6f7
PKG_LICENSE:=GPL-2.0-or-later
PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>, Noel Kuntze <noel.kuntze@thermi.consulting>
PKG_CPE_ID:=cpe:/a:strongswan:strongswan
--- /dev/null
+From 27a54379cf3c48ff63c02a4a9f023297bba60d45 Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Mon, 12 Jul 2021 01:29:43 +0200
+Subject: [PATCH 900/904] src: Patch for building with musl on openwrt (taken
+ verbatim from openwrt package sources)
+
+---
+ .../kernel_netlink/kernel_netlink_ipsec.c | 1 +
+ .../kernel_netlink/kernel_netlink_net.c | 2 +
+ .../kernel_netlink/kernel_netlink_shared.c | 2 +
+ src/libstrongswan/library.h | 1 +
+ src/libstrongswan/musl.h | 38 +++++++++++++++++++
+ .../plugins/bliss/bliss_huffman.c | 2 +
+ 6 files changed, 46 insertions(+)
+ create mode 100644 src/libstrongswan/musl.h
+
+--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
++++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
+@@ -40,6 +40,7 @@
+ */
+
+ #define _GNU_SOURCE
++#include <musl.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
++++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
+@@ -37,6 +37,8 @@
+ * THE SOFTWARE.
+ */
+
++#include "musl.h"
++
+ #include <sys/socket.h>
+ #include <sys/utsname.h>
+ #include <linux/netlink.h>
+--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
++++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
+@@ -39,6 +39,8 @@
+ * THE SOFTWARE.
+ */
+
++#include "musl.h"
++
+ #include <sys/socket.h>
+ #include <linux/netlink.h>
+ #include <linux/rtnetlink.h>
+--- a/src/libstrongswan/library.h
++++ b/src/libstrongswan/library.h
+@@ -118,6 +118,7 @@
+ #include "utils/leak_detective.h"
+ #include "plugins/plugin_loader.h"
+ #include "settings/settings.h"
++#include "musl.h"
+
+ typedef struct library_t library_t;
+
+--- /dev/null
++++ b/src/libstrongswan/musl.h
+@@ -0,0 +1,38 @@
++#include <sys/types.h>
++
++#define crypt x_crypt
++#define encrypt x_encrypt
++#include <unistd.h>
++
++#define fd_set x_fd_set
++#define ino_t x_ino_t
++#define off_t x_off_t
++#define loff_t x_loff_t
++#define dev_t x_dev_t
++#define mode_t x_mode_t
++#define uid_t x_uid_t
++#define gid_t x_gid_t
++#define uint64_t x_uint64_t
++#define u_int64_t x_u_int64_t
++#define int64_t x_int64_t
++#define nlink_t x_nlink_t
++#define timer_t x_timer_t
++#define blkcnt_t x_blkcnt_t
++
++#include <linux/types.h>
++
++#undef fd_set
++#undef ino_t
++#undef off_t
++#undef dev_t
++#undef mode_t
++#undef uid_t
++#undef gid_t
++#undef uint64_t
++#undef u_int64_t
++#undef int64_t
++#undef nlink_t
++#undef timer_t
++#undef blkcnt_t
++#undef crypt
++#undef encrypt
+--- a/src/libstrongswan/plugins/bliss/bliss_huffman.c
++++ b/src/libstrongswan/plugins/bliss/bliss_huffman.c
+@@ -17,6 +17,8 @@
+ #include "bliss_param_set.h"
+
+ #include <library.h>
++#undef fprintf
++#undef printf
+
+ #include <stdio.h>
+ #include <math.h>
--- /dev/null
+From 81be4fa54760aa4fed53c6d93da443f57a66f262 Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Mon, 12 Jul 2021 01:30:32 +0200
+Subject: [PATCH 901/904] uci: verbatim patch from openwrt package sources
+
+---
+ src/libcharon/plugins/uci/uci_parser.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/libcharon/plugins/uci/uci_parser.c
++++ b/src/libcharon/plugins/uci/uci_parser.c
+@@ -75,7 +75,7 @@ METHOD(enumerator_t, section_enumerator_
+ if (uci_lookup(this->ctx, &element, this->package,
+ this->current->name, "name") == UCI_OK)
+ { /* use "name" attribute as config name if available ... */
+- *value = uci_to_option(element)->value;
++ *value = uci_to_option(element)->v.string;
+ }
+ else
+ { /* ... or the section name becomes config name */
+@@ -90,7 +90,7 @@ METHOD(enumerator_t, section_enumerator_
+ if (value && uci_lookup(this->ctx, &element, this->package,
+ this->current->name, this->keywords[i]) == UCI_OK)
+ {
+- *value = uci_to_option(element)->value;
++ *value = uci_to_option(element)->v.string;
+ }
+ }
+
--- /dev/null
+From d71ec4f26a1334e78a38fa44a1271c52a029e3b4 Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Mon, 12 Jul 2021 01:31:36 +0200
+Subject: [PATCH 902/904] ipsec: Patch `ipsec` script to work with musl
+ `sleep`. Patch taken verbatim from openwrt package sources.
+
+---
+ src/ipsec/_ipsec.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/ipsec/_ipsec.in
++++ b/src/ipsec/_ipsec.in
+@@ -257,7 +257,7 @@ stop)
+ loop=110
+ while [ $loop -gt 0 ] ; do
+ kill -0 $spid 2>/dev/null || break
+- sleep 0.1 2>/dev/null
++ sleep 1 2>/dev/null
+ if [ $? -ne 0 ]
+ then
+ sleep 1
--- /dev/null
+From c779da992bdd440e336383da0eb75ef3a2ea6cde Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Mon, 12 Jul 2021 01:32:20 +0200
+Subject: [PATCH 903/904] updown: Call /sbin/hotplug-call ipsec "$1" in updown
+ script. Patch taken verbatim from openwrt package sources.
+
+---
+ src/_updown/_updown.in | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/src/_updown/_updown.in
++++ b/src/_updown/_updown.in
+@@ -22,6 +22,13 @@
+ # that, and use the (left/right)updown parameters in ipsec.conf to make
+ # strongSwan use yours instead of this default one.
+
++# Add your custom commands to the file "/etc/ipsec.user". Other packages could
++# also install their scripts in the directory "/etc/hotplug.d/ipsec".
++# This files/scripts are executed by the openwrt hotplug functionality on
++# ipsec events.
++
++/sbin/hotplug-call ipsec "$1"
++
+ # PLUTO_VERSION
+ # indicates what version of this interface is being
+ # used. This document describes version 1.1. This
--- /dev/null
+From 9f60c2ea6394facac55b90ef66466e1b9edef2a9 Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Mon, 12 Jul 2021 01:34:23 +0200
+Subject: [PATCH 904/904] gmpdh: Plugin that implements gmp DH functions in an
+ extra plugin. Links and uses gmp plugin source and header files. Patch taken
+ verbatim from openwrt package sources.
+
+---
+ configure.ac | 4 +
+ src/libstrongswan/Makefile.am | 7 ++
+ src/libstrongswan/plugins/gmpdh/Makefile.am | 19 ++++
+ .../plugins/gmpdh/gmpdh_plugin.c | 101 ++++++++++++++++++
+ .../plugins/gmpdh/gmpdh_plugin.h | 42 ++++++++
+ 5 files changed, 173 insertions(+)
+ create mode 100644 src/libstrongswan/plugins/gmpdh/Makefile.am
+ create mode 100644 src/libstrongswan/plugins/gmpdh/gmpdh_plugin.c
+ create mode 100644 src/libstrongswan/plugins/gmpdh/gmpdh_plugin.h
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -146,6 +146,7 @@ ARG_DISBL_SET([fips-prf], [disable
+ ARG_ENABL_SET([gcm], [enables the GCM AEAD wrapper crypto plugin.])
+ ARG_ENABL_SET([gcrypt], [enables the libgcrypt plugin.])
+ ARG_DISBL_SET([gmp], [disable GNU MP (libgmp) based crypto implementation plugin.])
++ARG_DISBL_SET([gmpdh], [disable GNU MP (libgmp) based static-linked crypto DH minimal implementation plugin.])
+ ARG_DISBL_SET([curve25519], [disable Curve25519 Diffie-Hellman plugin.])
+ ARG_DISBL_SET([hmac], [disable HMAC crypto implementation plugin.])
+ ARG_ENABL_SET([md4], [enable MD4 software implementation plugin.])
+@@ -1483,6 +1484,7 @@ ADD_PLUGIN([botan], [s ch
+ ADD_PLUGIN([af-alg], [s charon scepclient pki scripts medsrv attest nm cmd aikgen])
+ ADD_PLUGIN([fips-prf], [s charon nm cmd])
+ ADD_PLUGIN([gmp], [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen fuzz])
++ADD_PLUGIN([gmpdh], [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen])
+ ADD_PLUGIN([curve25519], [s charon pki scripts nm cmd])
+ ADD_PLUGIN([agent], [s charon nm cmd])
+ ADD_PLUGIN([keychain], [s charon cmd])
+@@ -1624,6 +1626,7 @@ AM_CONDITIONAL(USE_SHA3, test x$sha3 = x
+ AM_CONDITIONAL(USE_MGF1, test x$mgf1 = xtrue)
+ AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue)
+ AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue)
++AM_CONDITIONAL(USE_GMPDH, test x$gmpdh = xtrue)
+ AM_CONDITIONAL(USE_CURVE25519, test x$curve25519 = xtrue)
+ AM_CONDITIONAL(USE_RDRAND, test x$rdrand = xtrue)
+ AM_CONDITIONAL(USE_AESNI, test x$aesni = xtrue)
+@@ -1901,6 +1904,7 @@ AC_CONFIG_FILES([
+ src/libstrongswan/plugins/mgf1/Makefile
+ src/libstrongswan/plugins/fips_prf/Makefile
+ src/libstrongswan/plugins/gmp/Makefile
++ src/libstrongswan/plugins/gmpdh/Makefile
+ src/libstrongswan/plugins/curve25519/Makefile
+ src/libstrongswan/plugins/rdrand/Makefile
+ src/libstrongswan/plugins/aesni/Makefile
+--- a/src/libstrongswan/Makefile.am
++++ b/src/libstrongswan/Makefile.am
+@@ -345,6 +345,13 @@ if MONOLITHIC
+ endif
+ endif
+
++if USE_GMPDH
++ SUBDIRS += plugins/gmpdh
++if MONOLITHIC
++ libstrongswan_la_LIBADD += plugins/gmpdh/libstrongswan-gmpdh.la
++endif
++endif
++
+ if USE_CURVE25519
+ SUBDIRS += plugins/curve25519
+ if MONOLITHIC
+--- /dev/null
++++ b/src/libstrongswan/plugins/gmpdh/Makefile.am
+@@ -0,0 +1,19 @@
++AM_CPPFLAGS = \
++ -I$(top_srcdir)/src/libstrongswan
++
++AM_CFLAGS = \
++ $(PLUGIN_CFLAGS)
++
++if MONOLITHIC
++noinst_LTLIBRARIES = libstrongswan-gmpdh.la
++else
++plugin_LTLIBRARIES = libstrongswan-gmpdh.la
++endif
++
++libstrongswan_gmpdh_la_SOURCES = \
++ gmpdh_plugin.h gmpdh_plugin.c \
++ ../gmp/gmp_diffie_hellman.c ../gmp/gmp_diffie_hellman.h
++
++
++libstrongswan_gmpdh_la_LDFLAGS = -module -avoid-version -Wl,-Bstatic -Wl,-lgmp -Wl,-Bdynamic -Wl,--as-needed $(FPIC)
++libstrongswan_gmpdh_la_LIBADD =
+--- /dev/null
++++ b/src/libstrongswan/plugins/gmpdh/gmpdh_plugin.c
+@@ -0,0 +1,101 @@
++/*
++ * Copyright (C) 2008-2009 Martin Willi
++ * Hochschule fuer Technik Rapperswil
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2 of the License, or (at your
++ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++ * for more details.
++ */
++
++#include "gmpdh_plugin.h"
++
++#include <library.h>
++#include "../gmp/gmp_diffie_hellman.h"
++
++typedef struct private_gmpdh_plugin_t private_gmpdh_plugin_t;
++
++/**
++ * private data of gmp_plugin
++ */
++struct private_gmpdh_plugin_t {
++
++ /**
++ * public functions
++ */
++ gmpdh_plugin_t public;
++};
++
++METHOD(plugin_t, get_name, char*,
++ private_gmpdh_plugin_t *this)
++{
++ return "gmpdh";
++}
++
++METHOD(plugin_t, get_features, int,
++ private_gmpdh_plugin_t *this, plugin_feature_t *features[])
++{
++ static plugin_feature_t f[] = {
++ /* DH groups */
++ PLUGIN_REGISTER(DH, gmp_diffie_hellman_create),
++ PLUGIN_PROVIDE(DH, MODP_2048_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_2048_224),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_2048_256),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_1536_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_3072_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_4096_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_6144_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_8192_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_1024_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_1024_160),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_PROVIDE(DH, MODP_768_BIT),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ PLUGIN_REGISTER(DH, gmp_diffie_hellman_create_custom),
++ PLUGIN_PROVIDE(DH, MODP_CUSTOM),
++ PLUGIN_DEPENDS(RNG, RNG_STRONG),
++ };
++ *features = f;
++ return countof(f);
++}
++
++METHOD(plugin_t, destroy, void,
++ private_gmpdh_plugin_t *this)
++{
++ free(this);
++}
++
++/*
++ * see header file
++ */
++plugin_t *gmpdh_plugin_create()
++{
++ private_gmpdh_plugin_t *this;
++
++ INIT(this,
++ .public = {
++ .plugin = {
++ .get_name = _get_name,
++ .get_features = _get_features,
++ .destroy = _destroy,
++ },
++ },
++ );
++
++ return &this->public.plugin;
++}
++
+--- /dev/null
++++ b/src/libstrongswan/plugins/gmpdh/gmpdh_plugin.h
+@@ -0,0 +1,42 @@
++/*
++ * Copyright (C) 2008 Martin Willi
++ * Hochschule fuer Technik Rapperswil
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2 of the License, or (at your
++ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++ * for more details.
++ */
++
++/**
++ * @defgroup gmpdh_p gmpdh
++ * @ingroup plugins
++ *
++ * @defgroup gmpdh_plugin gmpdh_plugin
++ * @{ @ingroup gmpdh_p
++ */
++
++#ifndef GMPDH_PLUGIN_H_
++#define GMPDH_PLUGIN_H_
++
++#include <plugins/plugin.h>
++
++typedef struct gmpdh_plugin_t gmpdh_plugin_t;
++
++/**
++ * Plugin implementing asymmetric crypto algorithms using the GNU MP library.
++ */
++struct gmpdh_plugin_t {
++
++ /**
++ * implements plugin interface
++ */
++ plugin_t plugin;
++};
++
++#endif /** GMPDH_PLUGIN_H_ @}*/
+++ /dev/null
---- a/src/libstrongswan/library.h
-+++ b/src/libstrongswan/library.h
-@@ -118,6 +118,7 @@
- #include "utils/leak_detective.h"
- #include "plugins/plugin_loader.h"
- #include "settings/settings.h"
-+#include "musl.h"
-
- typedef struct library_t library_t;
-
---- /dev/null
-+++ b/src/libstrongswan/musl.h
-@@ -0,0 +1,38 @@
-+#include <sys/types.h>
-+
-+#define crypt x_crypt
-+#define encrypt x_encrypt
-+#include <unistd.h>
-+
-+#define fd_set x_fd_set
-+#define ino_t x_ino_t
-+#define off_t x_off_t
-+#define loff_t x_loff_t
-+#define dev_t x_dev_t
-+#define mode_t x_mode_t
-+#define uid_t x_uid_t
-+#define gid_t x_gid_t
-+#define uint64_t x_uint64_t
-+#define u_int64_t x_u_int64_t
-+#define int64_t x_int64_t
-+#define nlink_t x_nlink_t
-+#define timer_t x_timer_t
-+#define blkcnt_t x_blkcnt_t
-+
-+#include <linux/types.h>
-+
-+#undef fd_set
-+#undef ino_t
-+#undef off_t
-+#undef dev_t
-+#undef mode_t
-+#undef uid_t
-+#undef gid_t
-+#undef uint64_t
-+#undef u_int64_t
-+#undef int64_t
-+#undef nlink_t
-+#undef timer_t
-+#undef blkcnt_t
-+#undef crypt
-+#undef encrypt
---- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
-+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_ipsec.c
-@@ -40,6 +40,7 @@
- */
-
- #define _GNU_SOURCE
-+#include <musl.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/ioctl.h>
---- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
-+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
-@@ -37,6 +37,8 @@
- * THE SOFTWARE.
- */
-
-+#include "musl.h"
-+
- #include <sys/socket.h>
- #include <sys/utsname.h>
- #include <linux/netlink.h>
---- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
-+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
-@@ -39,6 +39,8 @@
- * THE SOFTWARE.
- */
-
-+#include "musl.h"
-+
- #include <sys/socket.h>
- #include <linux/netlink.h>
- #include <linux/rtnetlink.h>
---- a/src/libstrongswan/plugins/bliss/bliss_huffman.c
-+++ b/src/libstrongswan/plugins/bliss/bliss_huffman.c
-@@ -17,6 +17,8 @@
- #include "bliss_param_set.h"
-
- #include <library.h>
-+#undef fprintf
-+#undef printf
-
- #include <stdio.h>
- #include <math.h>
+++ /dev/null
---- a/src/libcharon/plugins/uci/uci_parser.c
-+++ b/src/libcharon/plugins/uci/uci_parser.c
-@@ -75,7 +75,7 @@ METHOD(enumerator_t, section_enumerator_
- if (uci_lookup(this->ctx, &element, this->package,
- this->current->name, "name") == UCI_OK)
- { /* use "name" attribute as config name if available ... */
-- *value = uci_to_option(element)->value;
-+ *value = uci_to_option(element)->v.string;
- }
- else
- { /* ... or the section name becomes config name */
-@@ -90,7 +90,7 @@ METHOD(enumerator_t, section_enumerator_
- if (value && uci_lookup(this->ctx, &element, this->package,
- this->current->name, this->keywords[i]) == UCI_OK)
- {
-- *value = uci_to_option(element)->value;
-+ *value = uci_to_option(element)->v.string;
- }
- }
-
+++ /dev/null
---- a/src/ipsec/_ipsec.in
-+++ b/src/ipsec/_ipsec.in
-@@ -257,7 +257,7 @@ stop)
- loop=110
- while [ $loop -gt 0 ] ; do
- kill -0 $spid 2>/dev/null || break
-- sleep 0.1 2>/dev/null
-+ sleep 1 2>/dev/null
- if [ $? -ne 0 ]
- then
- sleep 1
+++ /dev/null
---- a/src/_updown/_updown.in
-+++ b/src/_updown/_updown.in
-@@ -22,6 +22,13 @@
- # that, and use the (left/right)updown parameters in ipsec.conf to make
- # strongSwan use yours instead of this default one.
-
-+# Add your custom commands to the file "/etc/ipsec.user". Other packages could
-+# also install their scripts in the directory "/etc/hotplug.d/ipsec".
-+# This files/scripts are executed by the openwrt hotplug functionality on
-+# ipsec events.
-+
-+/sbin/hotplug-call ipsec "$1"
-+
- # PLUTO_VERSION
- # indicates what version of this interface is being
- # used. This document describes version 1.1. This
+++ /dev/null
---- a/configure.ac
-+++ b/configure.ac
-@@ -146,6 +146,7 @@ ARG_DISBL_SET([fips-prf], [disable
- ARG_ENABL_SET([gcm], [enables the GCM AEAD wrapper crypto plugin.])
- ARG_ENABL_SET([gcrypt], [enables the libgcrypt plugin.])
- ARG_DISBL_SET([gmp], [disable GNU MP (libgmp) based crypto implementation plugin.])
-+ARG_DISBL_SET([gmpdh], [disable GNU MP (libgmp) based static-linked crypto DH minimal implementation plugin.])
- ARG_DISBL_SET([curve25519], [disable Curve25519 Diffie-Hellman plugin.])
- ARG_DISBL_SET([hmac], [disable HMAC crypto implementation plugin.])
- ARG_ENABL_SET([md4], [enable MD4 software implementation plugin.])
-@@ -1478,6 +1479,7 @@ ADD_PLUGIN([botan], [s ch
- ADD_PLUGIN([af-alg], [s charon scepclient pki scripts medsrv attest nm cmd aikgen])
- ADD_PLUGIN([fips-prf], [s charon nm cmd])
- ADD_PLUGIN([gmp], [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen fuzz])
-+ADD_PLUGIN([gmpdh], [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen])
- ADD_PLUGIN([curve25519], [s charon pki scripts nm cmd])
- ADD_PLUGIN([agent], [s charon nm cmd])
- ADD_PLUGIN([keychain], [s charon cmd])
-@@ -1619,6 +1621,7 @@ AM_CONDITIONAL(USE_SHA3, test x$sha3 = x
- AM_CONDITIONAL(USE_MGF1, test x$mgf1 = xtrue)
- AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue)
- AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue)
-+AM_CONDITIONAL(USE_GMPDH, test x$gmpdh = xtrue)
- AM_CONDITIONAL(USE_CURVE25519, test x$curve25519 = xtrue)
- AM_CONDITIONAL(USE_RDRAND, test x$rdrand = xtrue)
- AM_CONDITIONAL(USE_AESNI, test x$aesni = xtrue)
-@@ -1896,6 +1899,7 @@ AC_CONFIG_FILES([
- src/libstrongswan/plugins/mgf1/Makefile
- src/libstrongswan/plugins/fips_prf/Makefile
- src/libstrongswan/plugins/gmp/Makefile
-+ src/libstrongswan/plugins/gmpdh/Makefile
- src/libstrongswan/plugins/curve25519/Makefile
- src/libstrongswan/plugins/rdrand/Makefile
- src/libstrongswan/plugins/aesni/Makefile
---- a/src/libstrongswan/Makefile.am
-+++ b/src/libstrongswan/Makefile.am
-@@ -345,6 +345,13 @@ if MONOLITHIC
- endif
- endif
-
-+if USE_GMPDH
-+ SUBDIRS += plugins/gmpdh
-+if MONOLITHIC
-+ libstrongswan_la_LIBADD += plugins/gmpdh/libstrongswan-gmpdh.la
-+endif
-+endif
-+
- if USE_CURVE25519
- SUBDIRS += plugins/curve25519
- if MONOLITHIC
---- /dev/null
-+++ b/src/libstrongswan/plugins/gmpdh/Makefile.am
-@@ -0,0 +1,19 @@
-+AM_CPPFLAGS = \
-+ -I$(top_srcdir)/src/libstrongswan
-+
-+AM_CFLAGS = \
-+ $(PLUGIN_CFLAGS)
-+
-+if MONOLITHIC
-+noinst_LTLIBRARIES = libstrongswan-gmpdh.la
-+else
-+plugin_LTLIBRARIES = libstrongswan-gmpdh.la
-+endif
-+
-+libstrongswan_gmpdh_la_SOURCES = \
-+ gmpdh_plugin.h gmpdh_plugin.c \
-+ ../gmp/gmp_diffie_hellman.c ../gmp/gmp_diffie_hellman.h
-+
-+
-+libstrongswan_gmpdh_la_LDFLAGS = -module -avoid-version -Wl,-Bstatic -Wl,-lgmp -Wl,-Bdynamic -Wl,--as-needed $(FPIC)
-+libstrongswan_gmpdh_la_LIBADD =
---- /dev/null
-+++ b/src/libstrongswan/plugins/gmpdh/gmpdh_plugin.c
-@@ -0,0 +1,101 @@
-+/*
-+ * Copyright (C) 2008-2009 Martin Willi
-+ * Hochschule fuer Technik Rapperswil
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your
-+ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * for more details.
-+ */
-+
-+#include "gmpdh_plugin.h"
-+
-+#include <library.h>
-+#include "../gmp/gmp_diffie_hellman.h"
-+
-+typedef struct private_gmpdh_plugin_t private_gmpdh_plugin_t;
-+
-+/**
-+ * private data of gmp_plugin
-+ */
-+struct private_gmpdh_plugin_t {
-+
-+ /**
-+ * public functions
-+ */
-+ gmpdh_plugin_t public;
-+};
-+
-+METHOD(plugin_t, get_name, char*,
-+ private_gmpdh_plugin_t *this)
-+{
-+ return "gmpdh";
-+}
-+
-+METHOD(plugin_t, get_features, int,
-+ private_gmpdh_plugin_t *this, plugin_feature_t *features[])
-+{
-+ static plugin_feature_t f[] = {
-+ /* DH groups */
-+ PLUGIN_REGISTER(DH, gmp_diffie_hellman_create),
-+ PLUGIN_PROVIDE(DH, MODP_2048_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_2048_224),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_2048_256),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_1536_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_3072_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_4096_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_6144_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_8192_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_1024_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_1024_160),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_PROVIDE(DH, MODP_768_BIT),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ PLUGIN_REGISTER(DH, gmp_diffie_hellman_create_custom),
-+ PLUGIN_PROVIDE(DH, MODP_CUSTOM),
-+ PLUGIN_DEPENDS(RNG, RNG_STRONG),
-+ };
-+ *features = f;
-+ return countof(f);
-+}
-+
-+METHOD(plugin_t, destroy, void,
-+ private_gmpdh_plugin_t *this)
-+{
-+ free(this);
-+}
-+
-+/*
-+ * see header file
-+ */
-+plugin_t *gmpdh_plugin_create()
-+{
-+ private_gmpdh_plugin_t *this;
-+
-+ INIT(this,
-+ .public = {
-+ .plugin = {
-+ .get_name = _get_name,
-+ .get_features = _get_features,
-+ .destroy = _destroy,
-+ },
-+ },
-+ );
-+
-+ return &this->public.plugin;
-+}
-+
---- /dev/null
-+++ b/src/libstrongswan/plugins/gmpdh/gmpdh_plugin.h
-@@ -0,0 +1,42 @@
-+/*
-+ * Copyright (C) 2008 Martin Willi
-+ * Hochschule fuer Technik Rapperswil
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your
-+ * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * for more details.
-+ */
-+
-+/**
-+ * @defgroup gmpdh_p gmpdh
-+ * @ingroup plugins
-+ *
-+ * @defgroup gmpdh_plugin gmpdh_plugin
-+ * @{ @ingroup gmpdh_p
-+ */
-+
-+#ifndef GMPDH_PLUGIN_H_
-+#define GMPDH_PLUGIN_H_
-+
-+#include <plugins/plugin.h>
-+
-+typedef struct gmpdh_plugin_t gmpdh_plugin_t;
-+
-+/**
-+ * Plugin implementing asymmetric crypto algorithms using the GNU MP library.
-+ */
-+struct gmpdh_plugin_t {
-+
-+ /**
-+ * implements plugin interface
-+ */
-+ plugin_t plugin;
-+};
-+
-+#endif /** GMPDH_PLUGIN_H_ @}*/
PKG_NAME:=lxc
PKG_VERSION:=4.0.5
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://linuxcontainers.org/downloads/lxc/
--- /dev/null
+From 3efa0cf3455cbe330b4e79a647a57ad8e9cf3476 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
+Date: Sun, 27 Jun 2021 23:42:52 -0400
+Subject: [PATCH] lxc-download: Switch GPG server
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
+---
+ templates/lxc-download.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/templates/lxc-download.in
++++ b/templates/lxc-download.in
+@@ -55,11 +55,11 @@ LXC_PATH=
+ LXC_ROOTFS=
+
+ if [ -z "${DOWNLOAD_KEYSERVER:-}" ]; then
+- DOWNLOAD_KEYSERVER="hkp://pool.sks-keyservers.net"
++ DOWNLOAD_KEYSERVER="hkp://keyserver.ubuntu.com"
+
+ # Deal with GPG over http proxy
+ if [ -n "${http_proxy:-}" ]; then
+- DOWNLOAD_KEYSERVER="hkp://p80.pool.sks-keyservers.net:80"
++ DOWNLOAD_KEYSERVER="hkp://keyserver.ubuntu.com:80"
+ DOWNLOAD_GPG_PROXY="--keyserver-options http-proxy=\"${http_proxy}\""
+ fi
+ fi
PKG_NAME:=sane-backends
PKG_VERSION:=1.0.32
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f
ac_cv_func_mmap_fixed_mapped="yes"
define Build/Configure
- mkdir -p $(PKG_BUILD_DIR)/backend/.libs
+ $(INSTALL_DIR) $(PKG_BUILD_DIR)/backend/.libs
$(Build/Configure/Default)
endef
define Build/Install
$(call Build/Install/Default)
- mkdir -p $(PKG_INSTALL_DIR)/usr/share/sane
- $(foreach file, $(filter-out %/unsupported.desc ,$(wildcard $(PKG_BUILD_DIR)/doc/descriptions/*.desc)),
- sed -rn -e '/^:usbid[[:blank:]]+"?0x(....)"?[[:blank:]]+"?0x(....)"?.*/{s//\1 \2/;p}' $(file) | \
- sort -u > $(PKG_INSTALL_DIR)/usr/share/sane/$(basename $(notdir $(file))).usbid; \
- awk '{ print $$$$2 > "$(PKG_INSTALL_DIR)/usr/share/sane/"$$$$1"-$(basename $(notdir $(file))).usbid" }' \
- $(PKG_INSTALL_DIR)/usr/share/sane/$(basename $(notdir $(file))).usbid ;
- )
+ $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/share/sane
+ cd $(PKG_BUILD_DIR)/doc/descriptions && for file in *.desc; do \
+ sed -rn -e '/^:usbid[[:blank:]]+"?0x(....)"?[[:blank:]]+"?0x(....)"?.*/{s//\1 \2/;p}' $$$$file | \
+ sort -u > $(PKG_INSTALL_DIR)/usr/share/sane/$$$${file/\.desc/}.usbid; \
+ awk -v path=$(PKG_INSTALL_DIR)/usr/share/sane -v file=$$$${file/\.desc/}.usbid '{ print $$$$2 > path"/"$$$$1"-"file }' \
+ $(PKG_INSTALL_DIR)/usr/share/sane/$$$${file/\.desc/}.usbid ; \
+ done
endef
define Package/libsane/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsane.so.* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/sane/libsane-dll.so.* $(1)/usr/lib/sane/
$(INSTALL_DIR) $(1)/etc/sane.d/dll.d
- $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/sane.d/dll.conf $(1)/etc/sane.d/
- chmod 0644 $(1)/etc/sane.d/dll.conf
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/sane.d/dll.conf $(1)/etc/sane.d/
endef
define Package/libsane/conffiles
define Package/sane-daemon/install
$(INSTALL_DIR) $(1)/etc/sane.d
- $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/sane.d/saned.conf $(1)/etc/sane.d/
- chmod 0644 $(1)/etc/sane.d/saned.conf
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/sane.d/saned.conf $(1)/etc/sane.d/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/saned.sbin $(1)/usr/sbin/saned
$(INSTALL_DIR) $(1)/usr/lib/sane/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/saned $(1)/usr/lib/sane/saned
$(INSTALL_DIR) $(1)/etc/xinetd.d
- $(INSTALL_CONF) ./files/saned.xinetd $(1)/etc/xinetd.d/sane-port
+ $(INSTALL_DATA) ./files/saned.xinetd $(1)/etc/xinetd.d/sane-port
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb/
$(INSTALL_BIN) ./files/saned.hotplug $(1)/etc/hotplug.d/usb/20-saned
endef
define Package/sane-$(1)/install
if [ -f "$(PKG_INSTALL_DIR)/etc/sane.d/$(1).conf" ]; then \
$(INSTALL_DIR) $$(1)/etc/sane.d ; \
- $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/sane.d/$(1).conf $$(1)/etc/sane.d/ ; \
- chmod 0644 $$(1)/etc/sane.d/$(1).conf ; \
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/sane.d/$(1).conf $$(1)/etc/sane.d/ ; \
fi ; \
$(INSTALL_DIR) $$(1)/usr/lib/sane ; \
$(CP) $(PKG_INSTALL_DIR)/usr/lib/sane/libsane-$(1).so.* $$(1)/usr/lib/sane/ ; \
fi
lvm_cmd lvrename "$vg_name" "wp_$1" "rw_$1"
exportlv "$1"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"${lv_name:0:2}\", \"device\": \"$lv_dm_path\"}"
return 0
}
exportlv "$1"
[ "$lv_full_name" ] || return 2
lvm_cmd lvremove -y "$lv_full_name"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"${lv_name:0:2}\", \"device\": \"$lv_dm_path\"}"
}
updatevol() {
[ "$lv_size" -ge "$2" ] || return 27
case "$lv_path" in
/dev/*/wo_*)
- lvm_cmd lvchange -a y -p rw "$lv_full_name"
+ lvm_cmd lvchange -p rw "$lv_full_name"
+ lvm_cmd lvchange -a y "$lv_full_name"
dd of="$lv_path"
+ lvm_cmd lvchange -a n "$lv_full_name"
lvm_cmd lvchange -p r "$lv_full_name"
lvm_cmd lvrename "$lv_full_name" "${lv_full_name%%/*}/ro_$1"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"$(getdev "$@")\"}"
return 0
;;
default)
ubiupdatevol -t "/dev/$voldev"
[ "$mode" = "wp" ] || return 0
mkubifs "/dev/$voldev"
- ubirename "/dev/$ubidev" "uvol-wp-$1" "uvol-rw-$1"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
+ ubirename "/dev/$ubidev" "uvol-wp-$1" "uvol-wd-$1"
}
removevol() {
- local voldev evdata
+ local voldev
voldev=$(getdev "$@")
[ "$voldev" ] || return 2
- if vol_is_mode "$voldev" rw ; then
- evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/$voldev\"}"
- elif vol_is_mode "$voldev" ro && [ -e "/dev/ubiblock${voldev:3}" ]; then
- evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
- fi
local volnum="${voldev#${ubidev}_}"
ubirmvol "/dev/$ubidev" -n "$volnum" || return $?
- [ "$evdata" ] && ubus send block.volume "$evdata"
}
activatevol() {
voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
vol_is_mode "$voldev" rw && return 0
+ vol_is_mode "$voldev" ro && return 0
vol_is_mode "$voldev" wo && return 22
vol_is_mode "$voldev" wp && return 16
- if vol_is_mode "$voldev" ro; then
- [ -e "/dev/ubiblock${voldev:3}" ] && return 0
+ if vol_is_mode "$voldev" rd; then
+ ubirename "/dev/$ubidev" "uvol-rd-$1" "uvol-ro-$1"
ubiblock --create "/dev/$voldev"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
return 0
elif vol_is_mode "$voldev" wd; then
ubirename "/dev/$ubidev" "uvol-wd-$1" "uvol-rw-$1"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
return 0
fi
}
local voldev
voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
+ vol_is_mode "$voldev" rd && return 0
+ vol_is_mode "$voldev" wd && return 0
vol_is_mode "$voldev" wo && return 22
vol_is_mode "$voldev" wp && return 16
if vol_is_mode "$voldev" ro; then
[ -e "/dev/ubiblock${voldev:3}" ] || return 0
ubiblock --remove "/dev/$voldev" || return $?
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
+ ubirename "/dev/$ubidev" "uvol-ro-$1" "uvol-rd-$1" || return $?
return 0
elif vol_is_mode "$voldev" rw; then
ubirename "/dev/$ubidev" "uvol-rw-$1" "uvol-wd-$1" || return $?
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"rw\", \"device\": \"/dev/$voldev\"}"
return 0
fi
}
[ "$2" ] || return 22
vol_is_mode "$voldev" wo || return 22
ubiupdatevol -s "$2" "/dev/$voldev" -
- ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-ro-$1"
- ubiblock --create "/dev/$voldev"
- ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
+ ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-rd-$1"
}
listvols() {
voldev="/dev/ubiblock${voldev:3}"
ubiblock --create "/dev/$voldev"
;;
- uvol-rw-*)
- voldev="/dev/$voldev"
- fstype="ubifs"
- ;;
*)
continue
;;
esac
volmode="${volname:5:2}"
volname="${volname:8}"
- ubus send block.volume "{\"name\": \"$volname\", \"action\": \"up\", \"mode\": \"$volmode\",${fstype:+ \"fstype\": \"$fstype\", }\"device\": \"$voldev\"}"
done
}
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
define Package/whois
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=yq
-PKG_VERSION:=4.9.7
+PKG_VERSION:=4.9.8
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=1247e7f0de1f66367b1082c62ecf25e704994a34acc7d2280dac3a30052e2348
+PKG_HASH:=a7b68382ea04da47c1ef0486140f093ee4578525a89f33c3ba457d424e316cc2
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MIT