Merge pull request #20280 from oskarirauta/nasm
authorHannu Nyman <hannu.nyman@iki.fi>
Sun, 22 Jan 2023 18:06:24 +0000 (20:06 +0200)
committerGitHub <noreply@github.com>
Sun, 22 Jan 2023 18:06:24 +0000 (20:06 +0200)
nasm: new package

139 files changed:
ipv6/miredo/Makefile
lang/chicken-scheme/Makefile
lang/golang/golang/Makefile
lang/golang/golang/patches/010-cmd-compile-turn-off-jump-tables-when-spectre-retpolines-.patch [deleted file]
lang/perl-compress-bzip2/Makefile
lang/python/borgbackup/Makefile
lang/python/pillow/Makefile
lang/python/python-exceptiongroup/Makefile
lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch
lang/python/python-pytz/Makefile
lang/python/python-requests/Makefile
lang/python/python3-libselinux/Makefile
lang/python/python3-libsemanage/Makefile
lang/vala/Makefile
libs/efivar/Makefile [new file with mode: 0644]
libs/efivar/patches/002-musl-compat.patch [new file with mode: 0644]
libs/efivar/patches/005-skip-docs.patch [new file with mode: 0644]
libs/elektra/patches/010-iconv.patch [deleted file]
libs/faad2/Makefile
libs/hidapi/Makefile
libs/hidapi/patches/020-iconv.patch [deleted file]
libs/hiredis/Makefile
libs/hiredis/patches/010-fix_pkconfig_file.patch [deleted file]
libs/libgd/Makefile
libs/libgd/patches/010-webp.patch
libs/libgd/patches/100-no-cxx.patch
libs/libjaylink/Makefile [new file with mode: 0644]
libs/libmad/Makefile
libs/liburing/Makefile
libs/libv4l/Makefile
libs/libv4l/patches/020-add-missing-includes.patch [deleted file]
libs/libv4l/patches/030-getsubopt.patch [deleted file]
libs/libwebp/Makefile
libs/libwebp/patches/010-mips16.patch
libs/libxcrypt/Makefile
libs/libxml2/Makefile
libs/libxml2/patches/010-iconv.patch [new file with mode: 0644]
libs/pcapplusplus/Makefile
libs/postgresql/Makefile
libs/postgresql/patches/200-ranlib.patch
libs/postgresql/patches/300-fix-includes.patch [new file with mode: 0644]
libs/postgresql/patches/300-fix-pc-file.patch [deleted file]
libs/postgresql/patches/700-no-arm-crc-march-change.patch
libs/postgresql/patches/900-pg_ctl-setuid.patch
libs/sbc/Makefile
libs/sbc/patches/010-x86.patch [deleted file]
libs/tiff/Makefile
libs/tiff/patches/010-CVE-2022-2519.patch [new file with mode: 0644]
libs/tiff/patches/020-CVE-2022-2520.patch [new file with mode: 0644]
mail/alpine/Makefile
mail/opendkim/Makefile
mail/opendkim/patches/020-libbsd.patch [new file with mode: 0644]
mail/opendkim/patches/020-uclibc.patch [deleted file]
multimedia/gphoto2/patches/001-automake-compat.patch [new file with mode: 0644]
net/atlas-probe/Makefile
net/atlas-probe/patches/002-Avoid-problems-with-64-bit-time_t.patch [deleted file]
net/atlas-probe/patches/003-Fix-SIGSEGV-caused-by-time_t-casted-to-long-on-32bit.patch [deleted file]
net/atlas-probe/patches/005-Mute-some-no-previous-prototype-compilation-warning.patch [deleted file]
net/atlas-probe/patches/006-Cast-sockaddr_in6-to-sockaddr-to-mute-compilation-wa.patch [deleted file]
net/atlas-probe/patches/007-Cast-size_t-to-long-to-mute-warning-on-32bit-systems.patch [deleted file]
net/atlas-probe/patches/010-openssl.patch [new file with mode: 0644]
net/atlas-sw-probe/Makefile
net/clamav/patches/020-iconv.patch [deleted file]
net/cloudflared/Makefile
net/ddns-scripts/Makefile
net/ddns-scripts/files/usr/share/ddns/default/hosting.de.json [new file with mode: 0644]
net/ddns-scripts/files/usr/share/ddns/list
net/foolsm/Makefile
net/git/Makefile
net/gnunet-fuse/Makefile
net/gnunet-fuse/patches/001-pthread_mutexattr_settype.patch [deleted file]
net/gnunet/Makefile
net/gnunet/patches/010-endian.patch
net/gnunet/patches/020-curl-no-runtime-test.patch [new file with mode: 0644]
net/gnurl/Makefile [deleted file]
net/i2pd/Makefile
net/i2pd/patches/010-config.patch
net/isc-dhcp/Makefile
net/isc-dhcp/patches/510-bind-CC.patch
net/isc-dhcp/patches/520-bind-no-catgets.patch
net/libcurl-gnutls/Makefile [new file with mode: 0644]
net/libreswan/Makefile
net/netperf/Makefile
net/pbr/Makefile
net/pbr/files/etc/init.d/pbr.init
net/rp-pppoe/Makefile
net/rp-pppoe/patches/110-Makefile.patch
net/rp-pppoe/patches/130-static-lib-fix.patch
net/safe-search/Makefile
net/safe-search/files/safe-search.defaults
net/simple-adblock/Makefile
net/simple-adblock/files/simple-adblock.init
net/snort3/Makefile
net/snowflake/Makefile
net/socat/Makefile
net/udphp-client/Makefile
net/v2ray-core/Makefile
net/xfrpc/Makefile
net/xinetd/Makefile
sound/mpd/Makefile
sound/mpd/patches/010-gcc12.patch [new file with mode: 0644]
utils/acpica-unix/Makefile
utils/acpica-unix/patches/0001-ACPI_CAST_PTR-cast-through-void.patch [new file with mode: 0644]
utils/acpica-unix/patches/0002-Linux-non-kernel-Use-use-uintptr_t-for-ACPI_UINTPTR_.patch [new file with mode: 0644]
utils/acpica-unix/patches/0003-debug-use-UINT_PTR_T-to-store-stack-boundaries.patch [new file with mode: 0644]
utils/bc/Makefile
utils/bluez/Makefile
utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch
utils/bluez/patches/201-readline.patch
utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch
utils/bluez/patches/210-util-define-MAX_INPUT.patch [new file with mode: 0644]
utils/crun/Makefile
utils/ctop/Makefile
utils/efibootmgr/Makefile [new file with mode: 0644]
utils/evtest/Makefile
utils/evtest/patches/010-musl.patch [deleted file]
utils/evtest/patches/020-Fix-build-on-32bit-arches-with-64bit-time_t.patch [deleted file]
utils/flashrom/Makefile
utils/lrzsz/Makefile
utils/lrzsz/patches/001-siginterrupt-after-the-call-to-signal-otherwise-ymod.patch [new file with mode: 0644]
utils/lrzsz/patches/002-may-be-security-fix-avoid-possible-underflow.patch [new file with mode: 0644]
utils/lrzsz/patches/100-install_delete_fix.patch
utils/lrzsz/patches/200-format.patch
utils/nano/Makefile
utils/openocd/Makefile
utils/pcsc-tools/Makefile
utils/pcsc-tools/patches/001-disable-atr.patch
utils/pigz/Makefile
utils/pigz/patches/001.patch
utils/podman/Makefile
utils/podman/patches/010-do-not-build-docs.patch [new file with mode: 0644]
utils/qfirehose/Makefile [new file with mode: 0644]
utils/rtl-sdr/Makefile
utils/stress-ng/Makefile
utils/stress/Makefile
utils/stress/patches/010-usleep.patch
utils/xz/Makefile
utils/yq/Makefile

index f25a86df46451e9a810e14d0d378f493db79e1a4..9e1390a233a99ab87327f2d471645b96f630524c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miredo
 PKG_VERSION:=1.2.6
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=miredo-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.remlab.net/files/miredo/
@@ -36,6 +36,10 @@ define Package/miredo/description
  IPv6 connectivity even from behind NAT devices.
 endef
 
+define Package/miredo/conffiles
+/etc/miredo/miredo.conf
+endef
+
 CONFIGURE_ARGS+= \
        --enable-shared \
        --enable-static \
index 79917fa5e402ade2220cd09cc8c4ddb6498261aa..c7fb98da20680f411c4f5ce79b2052644698ba9d 100644 (file)
@@ -49,7 +49,7 @@ define Package/chicken-scheme-interpreter/description
   For more information, please refer to the Chicken Scheme website at https://call-cc.org.
 endef
 
-MAKE_FLAGS += PLATFORM=linux C_COMPILER=$(TARGET_CC) LINKER=$(TARGET_CC) PREFIX=/usr C_COMPILER_OPTIMIZATION_OPTIONS="$(TARGET_CFLAGS)"
+MAKE_FLAGS += PLATFORM=linux C_COMPILER="$(TARGET_CC)" LINKER="$(TARGET_CC)" PREFIX=/usr C_COMPILER_OPTIMIZATION_OPTIONS="$(TARGET_CFLAGS)"
 
 # not installed:
 # - csc and chicken, the compiler
index 4377965c29a827cff360b187152c83a95195fdad..8bea7695cadbe6ff895411ac923ab093ae5dbb07 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 GO_VERSION_MAJOR_MINOR:=1.19
-GO_VERSION_PATCH:=4
+GO_VERSION_PATCH:=5
 
 PKG_NAME:=golang
 PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
@@ -20,7 +20,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
 
 PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
 PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=eda74db4ac494800a3e66ee784e495bfbb9b8e535df924a8b01b1a8028b7f368
+PKG_HASH:=8e486e8e85a281fc5ce3f0bedc5b9d2dbf6276d7db0b25d3ec034f313da0375f
 
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/golang/golang/patches/010-cmd-compile-turn-off-jump-tables-when-spectre-retpolines-.patch b/lang/golang/golang/patches/010-cmd-compile-turn-off-jump-tables-when-spectre-retpolines-.patch
deleted file mode 100644 (file)
index 1899571..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From 156578067111742b55718066c91b8ec66d35e03d Mon Sep 17 00:00:00 2001
-From: Keith Randall <khr@golang.org>
-Date: Mon, 5 Dec 2022 16:26:26 -0800
-Subject: [PATCH] [release-branch.go1.19] cmd/compile: turn off jump tables
- when spectre retpolines are on
-
-Fixes #57100
-
-Change-Id: I6ab659abbca1ae0ac8710674d39aec116fab0baa
-Reviewed-on: https://go-review.googlesource.com/c/go/+/455336
-Reviewed-by: Keith Randall <khr@google.com>
-Reviewed-by: Cherry Mui <cherryyz@google.com>
-TryBot-Result: Gopher Robot <gobot@golang.org>
-Run-TryBot: Keith Randall <khr@golang.org>
-(cherry picked from commit 1eb0465fa596a2d6e9c1a632499989544f0d7e68)
-Reviewed-on: https://go-review.googlesource.com/c/go/+/455416
-Reviewed-by: Michael Pratt <mpratt@google.com>
----
- src/cmd/compile/internal/walk/switch.go |  2 +-
- test/codegen/retpoline.go               | 28 +++++++++++++++++++++++++
- 2 files changed, 29 insertions(+), 1 deletion(-)
-
---- a/src/cmd/compile/internal/walk/switch.go
-+++ b/src/cmd/compile/internal/walk/switch.go
-@@ -289,7 +289,7 @@ func (s *exprSwitch) tryJumpTable(cc []e
-       const minCases = 8   // have at least minCases cases in the switch
-       const minDensity = 4 // use at least 1 out of every minDensity entries
--      if !go119UseJumpTables || base.Flag.N != 0 || !ssagen.Arch.LinkArch.CanJumpTable {
-+      if !go119UseJumpTables || base.Flag.N != 0 || !ssagen.Arch.LinkArch.CanJumpTable || base.Ctxt.Retpoline {
-               return false
-       }
-       if len(cc) < minCases {
---- a/test/codegen/retpoline.go
-+++ b/test/codegen/retpoline.go
-@@ -12,3 +12,31 @@ func CallInterface(x interface{ M() }) {
-       // amd64:`CALL\truntime.retpoline`
-       x.M()
- }
-+
-+// Check to make sure that jump tables are disabled
-+// when retpoline is on. See issue 57097.
-+func noJumpTables(x int) int {
-+      switch x {
-+      case 0:
-+              return 0
-+      case 1:
-+              return 1
-+      case 2:
-+              return 2
-+      case 3:
-+              return 3
-+      case 4:
-+              return 4
-+      case 5:
-+              return 5
-+      case 6:
-+              return 6
-+      case 7:
-+              return 7
-+      case 8:
-+              return 8
-+      case 9:
-+              return 9
-+      }
-+      return 10
-+}
index 123ce95f03df5bb39af31c906a11218c9eb501e8..d726a46daaeefb0bf15271d9926685151d12bb89 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=perl-compress-bzip2
-PKG_VERSION:=2.26
+PKG_VERSION:=2.28
 PKG_RELEASE:=1
 
 PKG_SOURCE:=Compress-Bzip2-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.cpan.org/authors/id/R/RU/RURBAN/
-PKG_HASH:=5132f0c5f377a54d77ee36d332aa0ece585c22a40f2c31f2619e40262f5c4f0c
+PKG_HASH:=859f835c3f5c998810d8b2a6f9e282ff99d6cb66ccfa55cae7e66dafb035116e
 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Compress-Bzip2-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
index 8c6a8a92448ffb07f31dad9cb497c4bd66f16e49..0637d1b0b67065d93e4ac4011fd4c90c929f468e 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=borgbackup
-PKG_VERSION:=1.2.2
+PKG_VERSION:=1.2.3
 PKG_RELEASE:=1
 
 PYPI_NAME:=borgbackup
-PKG_HASH:=d730687443f1beb602b1d72bae36318f6f9654818fcdc50458540ec579e57260
+PKG_HASH:=e32418f8633c96fa9681352a56eb63b98e294203472c114a5242709d36966785
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index d1981f9d8df32e209588b47963a1de61f06a51a4..157575ccaaa6a2e5693fc2f3468b18d7aa2997b9 100644 (file)
@@ -7,11 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pillow
-PKG_VERSION:=9.3.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=9.4.0
+PKG_RELEASE:=1
 
 PYPI_NAME:=Pillow
-PKG_HASH:=c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f
+PKG_HASH:=a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=HPND
index dd64f92103ac084fd663af768eed6802dd95c040..7c096dc5e59d787f499f9904c69f68ccae1e7591 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-exceptiongroup
-PKG_VERSION:=1.0.4
+PKG_VERSION:=1.1.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=exceptiongroup
-PKG_HASH:=bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec
+PKG_HASH:=bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23
 
 PKG_LICENSE:=MIT,Python-2.0
 PKG_LICENSE_FILES:=LICENSE
index ec27638254d8cf162fdc48e2ab7d53079926bf08..5c6cf2519936addd0358145ee70caf4ec154f199 100644 (file)
@@ -1,4 +1,4 @@
-From 99e590f2177148420f3556bbb0dc2e493e94e45f Mon Sep 17 00:00:00 2001
+From d6a0c3045598597023ee2423144b134fc87f4b6f Mon Sep 17 00:00:00 2001
 From: Julien Malik <julien.malik@paraiso.me>
 Date: Sat, 26 Nov 2022 13:05:20 +0100
 Subject: [PATCH] add setup.py to avoid depending on flit for building
@@ -17,7 +17,7 @@ Subject: [PATCH] add setup.py to avoid depending on flit for building
 +
 +setuptools.setup(
 +      name='exceptiongroup',
-+      version='1.0.4',
++      version='1.1.0',
 +      description='Backport of PEP 654 (exception groups)',
 +      author='Alex Grönholm',
 +      author_email='Alex Grönholm <alex.gronholm@nextday.fi>',
index f8e3cea8dc693389203bec70afc202e7afba7215..a39428a8ef8699adfeea256c04f45aa8aeb6ced9 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytz
-PKG_VERSION:=2022.7
+PKG_VERSION:=2022.7.1
 PKG_RELEASE:=1
 
 PYPI_NAME:=pytz
-PKG_HASH:=7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a
+PKG_HASH:=01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=MIT
index 163c49831ed0b237ee47d15f16f05c8ae5cf2055..c375c1cd6132e1dd6d464d2ace3011171864fa42 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-requests
-PKG_VERSION:=2.28.1
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=2.28.2
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=Apache-2.0
@@ -17,7 +17,7 @@ PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:python-requests:requests
 
 PYPI_NAME:=requests
-PKG_HASH:=7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983
+PKG_HASH:=98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index d51c4035b91204136662b64e131bdacac6c7625f..95cb2a8139fa6706555afd97c08e298c349ff172 100644 (file)
@@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
 SRC_NAME:=libselinux
 PKG_NAME:=python3-$(SRC_NAME)
 PKG_VERSION:=3.3
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/python-libselinux/$(SRC_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(SRC_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
+PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
 PKG_HASH:=acfdee27633d2496508c28727c3d41d3748076f66d42fccde2e6b9f3463a7057
 PKG_BUILD_DEPENDS:=swig/host
 
index c1670e56707424e76299de342c3386b70d79a849..c1a82576782fdea1bd84ebeeea892e9e2126eacc 100644 (file)
@@ -12,7 +12,7 @@ PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/python-libsemanage/$(SRC_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(SRC_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
+PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
 PKG_HASH:=d722a55ca4fe2d4e2b30527720db657e6238b28079e69e2e4affeb8e733ee511
 PKG_BUILD_DEPENDS:=swig/host
 
index d0af5a1d5ae7f03d5986e9d60416cbefac6c166e..c61c86c245174096e002e694d6efcb38fb6f6a1c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vala
-PKG_VERSION:=0.56.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=0.56.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/vala/0.56
-PKG_HASH:=d92bd13c5630905eeb6a983dcb702204da9731460c2a6e4e39f867996f371040
+PKG_SOURCE_URL:=@GNOME/vala/$(basename $(PKG_VERSION))
+PKG_HASH:=e1066221bf7b89cb1fa7327a3888645cb33b604de3bf45aa81132fd040b699bf
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
diff --git a/libs/efivar/Makefile b/libs/efivar/Makefile
new file mode 100644 (file)
index 0000000..63c2abe
--- /dev/null
@@ -0,0 +1,66 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=efivar
+PKG_VERSION:=38
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://github.com/rhboot/efivar/releases/download/$(PKG_VERSION)
+PKG_HASH:=f018ed6e49c5f1c16d336d9fd7687ce87023276591921db1e49a314ad6515349
+
+PKG_LICENSE:=LGPL-2.1-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/efivar
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Tools and libraries to work with EFI variables
+  DEPENDS:=@TARGET_x86_64
+  URL:=https://github.com/rhboot/efibootmgr
+endef
+
+define Package/efivar/description
+  Tools and libraries to work with EFI variables
+endef
+
+MAKE_VARS += \
+       ERRORS= \
+       HOSTCC="$(HOSTCC)" \
+       HOST_CFLAGS="$(HOST_CFLAGS)" \
+       HOST_LDFLAGS="$(HOST_LDFLAGS)" \
+       LIBDIR="/usr/lib"
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefiboot.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefisec.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefivar.so* $(1)/usr/lib/
+
+       $(INSTALL_DIR) $(1)/usr/include/efivar
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/efivar/*.h $(1)/usr/include/efivar/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/efivar/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/efisecdb $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/efivar $(1)/usr/bin/
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefiboot.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefisec.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libefivar.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,efivar))
diff --git a/libs/efivar/patches/002-musl-compat.patch b/libs/efivar/patches/002-musl-compat.patch
new file mode 100644 (file)
index 0000000..be3cfec
--- /dev/null
@@ -0,0 +1,199 @@
+From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 28 Jan 2022 12:13:30 +0100
+Subject: [PATCH 1/2] efisecdb: fix build with musl libc
+
+Refactor code to use POSIX atexit(3) instead of the GNU specific
+on_exit(3).
+
+Resolves: #197
+Resolves: #202
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+
+--- a/src/compiler.h
++++ b/src/compiler.h
+@@ -7,8 +7,6 @@
+ #ifndef COMPILER_H_
+ #define COMPILER_H_
+-#include <sys/cdefs.h>
+-
+ /* GCC version checking borrowed from glibc. */
+ #if defined(__GNUC__) && defined(__GNUC_MINOR__)
+ #  define GNUC_PREREQ(maj,min) \
+--- a/src/efisecdb.c
++++ b/src/efisecdb.c
+@@ -25,6 +25,10 @@
+ extern char *optarg;
+ extern int optind, opterr, optopt;
++static efi_secdb_t *secdb = NULL;
++static list_t infiles;
++static list_t actions;
++
+ struct hash_param {
+       char *name;
+       efi_secdb_type_t algorithm;
+@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t a
+ }
+ static void
+-free_actions(int status UNUSED, void *actionsp)
++free_actions(void)
+ {
+-      list_t *actions = (list_t *)actionsp;
+       list_t *pos, *tmp;
+-      for_each_action_safe(pos, tmp, actions) {
++      for_each_action_safe(pos, tmp, &actions) {
+               action_t *action = list_entry(pos, action_t, list);
+               list_del(&action->list);
+@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *ac
+ }
+ static void
+-free_infiles(int status UNUSED, void *infilesp)
++free_infiles(void)
+ {
+-      list_t *infiles = (list_t *)infilesp;
+       list_t *pos, *tmp;
+-      for_each_ptr_safe(pos, tmp, infiles) {
++      for_each_ptr_safe(pos, tmp, &infiles) {
+               ptrlist_t *entry = list_entry(pos, ptrlist_t, list);
+               list_del(&entry->list);
+@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *in
+ }
+ static void
+-maybe_free_secdb(int status UNUSED, void *voidp)
++maybe_free_secdb(void)
+ {
+-      efi_secdb_t **secdbp = (efi_secdb_t **)voidp;
+-
+-      if (secdbp == NULL || *secdbp == NULL)
++      if (secdb == NULL)
+               return;
+-      efi_secdb_free(*secdbp);
+-}
+-
+-static void
+-maybe_do_unlink(int status, void *filep)
+-{
+-      char **file = (char **)filep;
+-
+-      if (status == 0)
+-              return;
+-      if (file == NULL || *file == NULL)
+-              return;
+-
+-      unlink(*file);
++      efi_secdb_free(secdb);
+ }
+ static void
+@@ -268,8 +255,7 @@ list_guids(void)
+  * failure.
+  */
+ static int
+-parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb,
+-                bool dump)
++parse_input_files(list_t *infiles, efi_secdb_t **secdb, bool dump)
+ {
+       int status = 0;
+       list_t *pos, *tmp;
+@@ -310,8 +296,6 @@ parse_input_files(list_t *infiles, char
+                               if (!dump)
+                                       exit(1);
+                               status = 1;
+-                              xfree(*outfile);
+-                              *outfile = NULL;
+                               break;
+                       }
+               }
+@@ -323,15 +307,6 @@ parse_input_files(list_t *infiles, char
+       return status;
+ }
+-/*
+- * These need to be static globals so that they're not on main's stack when
+- * on_exit() fires.
+- */
+-static efi_secdb_t *secdb = NULL;
+-static list_t infiles;
+-static list_t actions;
+-static char *outfile = NULL;
+-
+ int
+ main(int argc, char *argv[])
+ {
+@@ -351,6 +326,7 @@ main(int argc, char *argv[])
+       bool do_sort_data = false;
+       bool sort_descending = false;
+       int status = 0;
++      char *outfile = NULL;
+       const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?";
+       const struct option lopts[] = {
+@@ -376,10 +352,9 @@ main(int argc, char *argv[])
+       INIT_LIST_HEAD(&infiles);
+       INIT_LIST_HEAD(&actions);
+-      on_exit(free_actions, &actions);
+-      on_exit(free_infiles, &infiles);
+-      on_exit(maybe_free_secdb, &secdb);
+-      on_exit(maybe_do_unlink, &outfile);
++      atexit(free_actions);
++      atexit(free_infiles);
++      atexit(maybe_free_secdb);
+       /*
+        * parse the command line.
+@@ -550,7 +525,7 @@ sort_err:
+       efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DATA, do_sort_data);
+       efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DESCENDING, sort_descending);
+-      status = parse_input_files(&infiles, &outfile, &secdb, dump);
++      status = parse_input_files(&infiles, &secdb, dump);
+       if (status == 0) {
+               for_each_action_safe(pos, tmp, &actions) {
+                       action_t *action = list_entry(pos, action_t, list);
+@@ -587,24 +562,30 @@ sort_err:
+       outfd = open(outfile, flags, 0600);
+       if (outfd < 0) {
+               char *tmpoutfile = outfile;
+-              if (errno == EEXIST)
+-                      outfile = NULL;
++              if (errno != EEXIST)
++                      unlink(outfile);
+               err(1, "could not open \"%s\"", tmpoutfile);
+       }
+       rc = ftruncate(outfd, 0);
+-      if (rc < 0)
++      if (rc < 0) {
++              unlink(outfile);
+               err(1, "could not truncate output file \"%s\"", outfile);
++      }
+       void *output;
+       size_t size = 0;
+       rc = efi_secdb_realize(secdb, &output, &size);
+-      if (rc < 0)
++      if (rc < 0) {
++              unlink(outfile);
+               secdb_err(1, "could not realize signature list");
++      }
+       rc = write(outfd, output, size);
+-      if (rc < 0)
++      if (rc < 0) {
++              unlink(outfile);
+               err(1, "could not write signature list");
++      }
+       close(outfd);
+       xfree(output);
diff --git a/libs/efivar/patches/005-skip-docs.patch b/libs/efivar/patches/005-skip-docs.patch
new file mode 100644 (file)
index 0000000..94e20d7
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -7,7 +7,7 @@ include $(TOPDIR)/src/include/defaults.m
+ include $(TOPDIR)/src/include/coverity.mk
+ include $(TOPDIR)/src/include/scan-build.mk
+-SUBDIRS := src docs
++SUBDIRS := src
+ all : | efivar.spec src/include/version.mk prep
+ all clean install prep :
diff --git a/libs/elektra/patches/010-iconv.patch b/libs/elektra/patches/010-iconv.patch
deleted file mode 100644 (file)
index 96d5b72..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
---- a/src/plugins/filecheck/CMakeLists.txt
-+++ b/src/plugins/filecheck/CMakeLists.txt
-@@ -1,20 +1,46 @@
- include (LibAddMacros)
--if (DEPENDENCY_PHASE)
--      find_package (Iconv QUIET)
--
--      if (NOT Iconv_FOUND)
--              remove_plugin (filecheck "Cannot find iconv library")
--      endif ()
-+find_package (Iconv QUIET)
-+if (DEPENDENCY_PHASE)
-       if (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
-               # See also: https://cirrus-ci.com/task/5751822404288512?command=tests#L237-L239
-               remove_plugin (filecheck "the unit test of the plugin fails on FreeBSD if ASan is active")
-       endif (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
- endif ()
--add_plugin (
--      filecheck
--      SOURCES filecheck.h filecheck.c
--      INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
--      LINK_LIBRARIES ${Iconv_LIBRARIES}
--      ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
-+if(Iconv_FOUND)
-+      add_plugin (
-+              filecheck
-+              SOURCES filecheck.h filecheck.c
-+              INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
-+              LINK_LIBRARIES ${Iconv_LIBRARIES}
-+              ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
-+else()
-+      # Sometime the build environment is not setup
-+      # in a way CMake can find Iconv on its own by default.
-+      # But if we simply link against iconv (-liconv), the build may succeed
-+      # due to other compiler/link flags.
-+      set(CMAKE_REQUIRED_LIBRARIES "iconv")
-+      check_c_source_compiles("
-+              #include <stddef.h>
-+              #include <iconv.h>
-+              int main() {
-+                      char *a, *b;
-+                      size_t i, j;
-+                      iconv_t ic;
-+                      ic = iconv_open(\"to\", \"from\");
-+                      iconv(ic, &a, &i, &b, &j);
-+                      iconv_close(ic);
-+              }
-+              "
-+      Iconv_EXPLICITLY_AT_ENV)
-+      if(Iconv_EXPLICITLY_AT_ENV)
-+              add_plugin (
-+                      filecheck
-+                      SOURCES filecheck.h filecheck.c
-+                      LINK_LIBRARIES iconv
-+                      ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
-+      else()
-+                      message(FATAL_ERROR "Cannot find iconv library")
-+      endif()
-+endif()
---- a/src/plugins/iconv/CMakeLists.txt
-+++ b/src/plugins/iconv/CMakeLists.txt
-@@ -1,19 +1,45 @@
--if (DEPENDENCY_PHASE)
--      find_package (Iconv QUIET)
-+find_package (Iconv QUIET)
-+if (DEPENDENCY_PHASE)
-       if (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
-               # See also: https://cirrus-ci.com/task/5751822404288512?command=tests#L253-L255
-               remove_plugin (iconv "the unit test of the plugin fails on FreeBSD if ASan is active")
-       endif (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
--
--      if (NOT Iconv_FOUND)
--              remove_plugin (iconv "Cannot find iconv library")
--      endif ()
- endif ()
--add_plugin (
--      iconv
--      SOURCES conv.h iconv.c
--      INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
--      LINK_LIBRARIES ${Iconv_LIBRARIES}
--      ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
-+if(Iconv_FOUND)
-+      add_plugin (
-+              iconv
-+              SOURCES conv.h iconv.c
-+              INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
-+              LINK_LIBRARIES ${Iconv_LIBRARIES}
-+              ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
-+else()
-+      # Sometime the build environment is not setup
-+      # in a way CMake can find Iconv on its own by default.
-+      # But if we simply link against iconv (-liconv), the build may succeed
-+      # due to other compiler/link flags.
-+      set(CMAKE_REQUIRED_LIBRARIES "iconv")
-+      check_c_source_compiles("
-+              #include <stddef.h>
-+              #include <iconv.h>
-+              int main() {
-+                      char *a, *b;
-+                      size_t i, j;
-+                      iconv_t ic;
-+                      ic = iconv_open(\"to\", \"from\");
-+                      iconv(ic, &a, &i, &b, &j);
-+                      iconv_close(ic);
-+              }
-+              "
-+      Iconv_EXPLICITLY_AT_ENV)
-+      if(Iconv_EXPLICITLY_AT_ENV)
-+              add_plugin (
-+                      iconv
-+                      SOURCES conv.h iconv.c
-+                      LINK_LIBRARIES iconv
-+                      ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
-+      else()
-+              message(FATAL_ERROR "Cannot find iconv library")
-+      endif()
-+endif()
index 90da2f7e1dcbd150564c9349a631b1b804f7e94e..5bff32174fb0ed6da73cf00777a81c468d1b7870 100644 (file)
@@ -6,13 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=faad2
-PKG_VERSION:=2.10.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/knik0/faad2/tar.gz/2_10_0?
-PKG_HASH:=0c6d9636c96f95c7d736f097d418829ced8ec6dbd899cc6cc82b728480a84bfb
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-2_10_0
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=2.10.1
+PKG_SOURCE_URL:=https://github.com/knik0/faad2
+PKG_MIRROR_HASH:=8a42cbc5833bd3c076f92363f0cbbcf6f848231c59b2f17dbe5d151cb8684fe1
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=GPL-2.0-or-later
index 59261bfeffa8aeb53c284807626fceadb740cee8..b169a2584f26414b31510e1efa32c7be5b42971c 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hidapi
 PKG_VERSION:=0.12.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/libusb/hidapi/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
diff --git a/libs/hidapi/patches/020-iconv.patch b/libs/hidapi/patches/020-iconv.patch
deleted file mode 100644 (file)
index a30d540..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-From cfcddf90ea6add9d4aaa99ee2decc5a9140bdf37 Mon Sep 17 00:00:00 2001
-From: Ihor Dutchak <ihor.youw@gmail.com>
-Date: Sat, 18 Jun 2022 15:58:31 +0300
-Subject: [PATCH 1/3] Ensure Iconv is found when provided via CFLAGS/LDFLAGS
-
-- by default find_file/find_library doesn't respect CFLAGS/LDFLAGS,
-and FindIconv fails to find Iconv;
-- by explicitly trying to link against `-liconv` - we're checking if library is available in such way;
-- additionally: if Iconv is detected as BUILT_IN, no need to explicitly depend on `Iconv::Iconv`;
----
- libusb/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++--------
- src/CMakeLists.txt    |  3 ---
- 2 files changed, 33 insertions(+), 11 deletions(-)
-
---- a/libusb/CMakeLists.txt
-+++ b/libusb/CMakeLists.txt
-@@ -22,11 +22,53 @@ target_link_libraries(hidapi_libusb PRIV
- if(HIDAPI_NO_ICONV)
-     target_compile_definitions(hidapi_libusb PRIVATE NO_ICONV)
- else()
--    if(NOT ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.11)
--        find_package(Iconv REQUIRED)
-+    if(NOT ANDROID)
-         include(CheckCSourceCompiles)
--        target_link_libraries(hidapi_libusb PRIVATE Iconv::Iconv)
--        set(CMAKE_REQUIRED_LIBRARIES "Iconv::Iconv")
-+
-+        if(NOT CMAKE_VERSION VERSION_LESS 3.11)
-+            message(STATUS "Check for Iconv")
-+            find_package(Iconv)
-+            if(Iconv_FOUND)
-+                if(NOT Iconv_IS_BUILT_IN)
-+                    target_link_libraries(hidapi_libusb PRIVATE Iconv::Iconv)
-+                    set(CMAKE_REQUIRED_LIBRARIES "Iconv::Iconv")
-+                    if(NOT BUILD_SHARED_LIBS)
-+                        set(HIDAPI_NEED_EXPORT_ICONV TRUE PARENT_SCOPE)
-+                    endif()
-+                endif()
-+            else()
-+                message(STATUS "Iconv Explicitly check '-liconv'")
-+                # Sometime the build environment is not setup
-+                # in a way CMake can find Iconv on its own by default.
-+                # But if we simply link against iconv (-liconv), the build may succeed
-+                # due to other compiler/link flags.
-+                set(CMAKE_REQUIRED_LIBRARIES "iconv")
-+                check_c_source_compiles("
-+                    #include <stddef.h>
-+                    #include <iconv.h>
-+                    int main() {
-+                    char *a, *b;
-+                    size_t i, j;
-+                    iconv_t ic;
-+                    ic = iconv_open(\"to\", \"from\");
-+                    iconv(ic, &a, &i, &b, &j);
-+                    iconv_close(ic);
-+                    }
-+                    "
-+                    Iconv_EXPLICITLY_AT_ENV)
-+                if(Iconv_EXPLICITLY_AT_ENV)
-+                    message(STATUS "Iconv Explicitly check '-liconv' - Available")
-+                    target_link_libraries(hidapi_libusb PRIVATE iconv)
-+                else()
-+                    message(FATAL_ERROR "Iconv is not found, make sure to provide it in the build environment")
-+                endif()
-+            endif()
-+        else()
-+            # otherwise there is 2 options:
-+            # 1) iconv is provided by Standard C library and the build will be just fine
-+            # 2) The _user_ has to provide additiona compilation options for this project/target
-+        endif()
-+
-         # check for error: "conflicting types for 'iconv'"
-         check_c_source_compiles("#include<iconv.h>
-             extern size_t iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
-@@ -35,11 +77,9 @@ else()
-         if(HIDAPI_ICONV_CONST)
-             target_compile_definitions(hidapi_libusb PRIVATE "ICONV_CONST=const")
-         endif()
-+    else()
-+        # On Android Iconv is disabled on the code level anyway, so no issue;
-     endif()
--    # otherwise there is 3 options:
--    # 1) On Android Iconv is disabled on the code level anyway, so no issue;
--    # 2) iconv is provided by Standard C library and the build will be just fine;
--    # 4) The _user_ has to provide additiona compilation options for this project/target.
- endif()
- set_target_properties(hidapi_libusb
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -148,9 +148,6 @@ else()
-             if(NOT TARGET usb-1.0)
-                 set(HIDAPI_NEED_EXPORT_LIBUSB TRUE)
-             endif()
--            if(NOT HIDAPI_NO_ICONV AND NOT ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.11)
--                set(HIDAPI_NEED_EXPORT_ICONV TRUE)
--            endif()
-         endif()
-     elseif(NOT TARGET hidapi_hidraw)
-         message(FATAL_ERROR "Select at least one option to build: HIDAPI_WITH_LIBUSB or HIDAPI_WITH_HIDRAW")
index 01e6b8647b5697cc3fc64775e355f93e801e5e64..4c278358742d211befca2254b2b47fb7617bf59a 100644 (file)
@@ -8,21 +8,22 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hiredis
-PKG_VERSION:=1.0.2
+PKG_VERSION:=1.1.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/redis/hiredis/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=e0ab696e2f07deb4252dda45b703d09854e53b9703c7d52182ce5a22616c3819
+PKG_HASH:=fe6d21741ec7f3fc9df409d921f47dfc73a4d8ff64f4ac6f1d95f951bf7f53d6
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 
 PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
+CMAKE_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libhiredis
        SECTION:=libs
@@ -35,17 +36,6 @@ define Package/libhiredis/description
        Hiredis is a minimalistic C client library for the Redis database.
 endef
 
-MAKE_FLAGS += ARCH="" DEBUG="" PREFIX="/usr" uname_S="Linux"
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include/hiredis/adapters
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hiredis/adapters/* $(1)/usr/include/hiredis/adapters
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hiredis/*.h $(1)/usr/include/hiredis/
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhiredis.{so*,a} $(1)/usr/lib/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/hiredis.pc $(1)/usr/lib/pkgconfig
-endef
-
 define Package/libhiredis/install
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhiredis.so* $(1)/usr/lib/
diff --git a/libs/hiredis/patches/010-fix_pkconfig_file.patch b/libs/hiredis/patches/010-fix_pkconfig_file.patch
deleted file mode 100644 (file)
index 11d7e7f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-commit f96d9f9d2e3ba39352035e6ac26463243484d404
-Author: Sebastian Kemper <sebastian_ml@gmx.net>
-Date:   Sun Jan 13 19:25:52 2019 +0100
-
-    Setup .pc file to allow use for cross-compiling
-    
-    The Makefile is currently creating the pkg-config file using static lib
-    and include dir statements. Change that so that projects that
-    cross-compile hiredis can use pkg-config to setup other programs
-    depending on it.
-    
-    Note: these projects (like OpenWrt) call pkg-config with arguments to
-    overwrite some variables in the .pc file, namely:
-    
-    --define-variable=prefix=<...>
-    --define-variable=exec_prefix=<...>
-    
-    Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
-
---- a/Makefile
-+++ b/Makefile
-@@ -234,8 +234,8 @@ $(PKGCONFNAME): hiredis.h
-       @echo "Generating $@ for pkgconfig..."
-       @echo prefix=$(PREFIX) > $@
-       @echo exec_prefix=\$${prefix} >> $@
--      @echo libdir=$(PREFIX)/$(LIBRARY_PATH) >> $@
--      @echo includedir=$(PREFIX)/$(INCLUDE_PATH) >> $@
-+      @echo libdir=\$${exec_prefix}/$(LIBRARY_PATH) >> $@
-+      @echo includedir=\$${prefix}/$(INCLUDE_PATH) >> $@
-       @echo >> $@
-       @echo Name: hiredis >> $@
-       @echo Description: Minimalistic C client library for Redis. >> $@
index 4ca2eff2b40293d252fde881c5ce192a2993f020..9e0108915a878657eec3d26f13113e17be00664d 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgd
-PKG_VERSION:=2.3.2
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=2.3.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/
-PKG_HASH:=478a047084e0d89b83616e4c2cf3c9438175fb0cc55d8c8967f06e0427f7d7fb
+PKG_HASH:=3fe822ece20796060af63b7c60acb151e5844204d289da0ce08f8fdf131e5a61
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=MIT
index e68a8ac5324f8dcdfdebfd504f6673ed32252bfa..2b21bab8136df4b397cc279d69b3c248f0510c95 100644 (file)
@@ -1,6 +1,6 @@
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -118,7 +118,7 @@ else (USE_EXT_GD)
+@@ -134,7 +134,7 @@ else (USE_EXT_GD)
        endif (ENABLE_ICONV)
  
        IF (ENABLE_WEBP)
@@ -9,7 +9,7 @@
        ENDIF (ENABLE_WEBP)
  
        IF (ENABLE_HEIF)
-@@ -179,10 +179,10 @@ else (USE_EXT_GD)
+@@ -195,10 +195,10 @@ else (USE_EXT_GD)
                LIST(APPEND PKG_REQUIRES_PRIVATES zlib)
        ENDIF(ZLIB_FOUND)
  
index 3deb6cc947d13e420e3497b60079519e3b3f5d9a..63c733ab1bae76e8d4cb01476455f58f90fae674 100644 (file)
@@ -1,24 +1,22 @@
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -24,8 +24,6 @@ SET (LIBGD_SRC_FILES
+@@ -18,7 +18,6 @@ SET (LIBGD_SRC_FILES
        gd_io_dp.c
        gd_io_file.c
        gd_io_ss.c
 -      gd_io_stream.cxx
--      gd_io_stream.h
        gd_jpeg.c
        gd_matrix.c
        gd_nnquant.c
-@@ -61,8 +59,6 @@ SET (LIBGD_SRC_FILES
+@@ -44,7 +43,6 @@ SET (LIBGD_SRC_FILES
+       gdfx.c
        gdhelpers.c
-       gdhelpers.h
        gdkanji.c
 -      gdpp.cxx
--      gdpp.h
        gdtables.c
        gdxpm.c
-       jisx0208.h
-@@ -203,7 +199,6 @@ install(FILES
+       wbmp.c
+@@ -193,7 +191,6 @@ install(FILES
        gdfonts.h
        gdfontt.h
        gdfx.h
diff --git a/libs/libjaylink/Makefile b/libs/libjaylink/Makefile
new file mode 100644 (file)
index 0000000..2ed5753
--- /dev/null
@@ -0,0 +1,48 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libjaylink
+PKG_VERSION:=0.3.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/$(PKG_VERSION)
+PKG_HASH:=a2d98c1aa13dcf41c6c681767a43cdefc42b6f71af9362937555051007514cd9
+
+PKG_MAINTAINER:=Paul Fertser <fercerpav@gmail.com>
+PKG_LICENSE:=GPL-2.0+
+PKG_LICENSE_FILES:=COPYING
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libjaylink
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libusb-1.0
+  TITLE:=Library to access SEGGER J-Link and compatible devices
+  URL:=https://gitlab.zapb.de/libjaylink/libjaylink.git
+endef
+
+define Package/libjaylink/description
+libjaylink is a shared library written in C to access SEGGER J-Link and
+compatible devices.
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include/libjaylink
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/libjaylink/*.h $(1)/usr/include/libjaylink/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjaylink.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libjaylink.pc $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libjaylink/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjaylink.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libjaylink))
index 934705fde0fb6e994c3cbfc9479c73bba6e0b22e..595c9607de8e9387f93ebb6c0bd6d77638bcb1da 100644 (file)
@@ -9,11 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libmad
 PKG_VERSION:=0.16.3
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/tenacityteam/libmad/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=83ca48db60f480ae22234bae08e6ad651adec2667a68ad2df6fd61e6a50a32c7
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=0.16.3
+PKG_SOURCE_URL:=https://codeberg.org/tenacityteam/libmad
+PKG_MIRROR_HASH:=f2fa2a3c75ad1c58f0b6150482a3036408c8da79f0fcbf23bcf9e105f29079ee
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=GPL-2.0-or-later
index 6eb84b18d88590d1434c266d04ccdb948ad4a0ac..445e535adc1c4efca06d9cf0c46cb89385f62798 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=liburing
 PKG_VERSION:=2.3
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://git.kernel.dk/cgit/liburing/snapshot
@@ -32,7 +32,7 @@ define Package/liburing/description
   For more info on io_uring, please see: https://kernel.dk/io_uring.pdf
 endef
 
-CONFIGURE_ARGS:=--prefix=$(CONFIGURE_PREFIX) --cc=${TARGET_CC}
+CONFIGURE_ARGS:=--prefix=$(CONFIGURE_PREFIX) --cc="${TARGET_CC}"
 
 define Build/Compile
        $(MAKE) $(PKG_BUILD_DIR) \
index 60bac1d2b0074e00efb1bd6c65f15294ce958665..22b3cd15f617b3660fa9a60aae7206c75eb039c2 100644 (file)
@@ -6,17 +6,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=v4l-utils
-PKG_VERSION:=1.20.0
-PKG_RELEASE:=5
+PKG_VERSION:=1.22.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.linuxtv.org/downloads/v4l-utils
-PKG_HASH:=956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7
+PKG_HASH:=65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 
 PKG_USE_MIPS16:=0
-PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
@@ -75,7 +74,6 @@ define Package/v4l-utils/description
 endef
 
 TARGET_CFLAGS += -flto
-TARGET_CXXFLAGS += -std=c++11
 TARGET_LDFLAGS += \
        $(if $(CONFIG_USE_GLIBC),,-largp) \
        -Wl,--gc-sections,--as-needed
diff --git a/libs/libv4l/patches/020-add-missing-includes.patch b/libs/libv4l/patches/020-add-missing-includes.patch
deleted file mode 100644 (file)
index c5a83a9..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/utils/libcecutil/cec-info.cpp
-+++ b/utils/libcecutil/cec-info.cpp
-@@ -5,6 +5,7 @@
-  * Copyright 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
-  */
-+#include <cctype>
- #include <stdio.h>
- #include <string>
- #include <unistd.h>
diff --git a/libs/libv4l/patches/030-getsubopt.patch b/libs/libv4l/patches/030-getsubopt.patch
deleted file mode 100644 (file)
index 3e48732..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-@@ -785,15 +785,17 @@ static bool parse_subset(char *optarg)
- static bool parse_next_subopt(char **subs, char **value)
- {
--      static char *const subopts[] = {
--          NULL
--      };
--      int opt = getsubopt(subs, subopts, value);
-+      char *p = *subs;
-+      *value = *subs;
--      if (opt < 0 || *value)
--              return false;
--      fprintf(stderr, "Missing suboption value\n");
--      return true;
-+      while (*p && *p != ',')
-+              p++;
-+
-+      if (*p)
-+              *p++ = '\0';
-+
-+      *subs = p;
-+      return false;
- }
- void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
index 8eca25ba99bc5562a90d635853acfff860583258..a58062f359280002f7036de25fbb32f2798d9336 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libwebp
-PKG_VERSION:=1.2.4
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=1.3.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://storage.googleapis.com/downloads.webmproject.org/releases/webp
-PKG_HASH:=7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df
+PKG_HASH:=64ac4614db292ae8c5aa26de0295bf1623dbb3985054cb656c55e67431def17c
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
@@ -50,7 +50,7 @@ TARGET_CFLAGS += -flto
 
 define Package/libwebp/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebp*.s* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.s* $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,libwebp))
index 021bb44844015d06bbbe69e698966ab20a1e2ad5..85dc93287d8fb08927b194c95f8e4635531e9386 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/dsp/cpu.h
 +++ b/src/dsp/cpu.h
-@@ -106,7 +106,7 @@
+@@ -108,7 +108,7 @@
  #define WEBP_HAVE_NEON
  #endif
  
index fb1bc3c937a46da8d9c0daa18087abcb5b9dbf49..c6199824d2ae762385ea8e231d1a0c0ec274b84d 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libxcrypt
-PKG_VERSION:=4.4.28
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=4.4.33
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/besser82/libxcrypt/releases/download/v$(PKG_VERSION)
-PKG_HASH:=9e936811f9fad11dbca33ca19bd97c55c52eb3ca15901f27ade046cc79e69e87
+PKG_HASH:=e87acf9c652c573a4713d5582159f98f305d56ed5f754ce64f57d4194d6b3a6f
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 76f930529ec46de455c7207fc0bc638b5c44df24..a726e78cca7598f31862d1a00029db6a8b7a831d 100644 (file)
@@ -9,23 +9,20 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libxml2
 PKG_VERSION:=2.10.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNOME/libxml2/$(basename $(PKG_VERSION))
 PKG_HASH:=5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c
 
+PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:xmlsoft:libxml2
 
-PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
-
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=0
-
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 include $(INCLUDE_DIR)/nls.mk
 
 define Package/libxml2
@@ -68,70 +65,83 @@ define Package/libxml2-utils/description
   from libxml2, a library for manipulating XML and HTML resources.
 endef
 
-TARGET_CFLAGS += $(FPIC)
-
-CONFIGURE_ARGS += \
-       --enable-shared \
-       --enable-static \
-       --with-c14n \
-       --without-catalog \
-       --with-debug \
-       --with-html \
-       --without-ftp \
-       --without-http \
-       --without-iso8859x \
-       --without-legacy \
-       --with-output \
-       --without-pattern \
-       --without-push \
-       --without-python \
-       --with-reader \
-       --without-readline \
-       --without-regexps \
-       --with-sax1 \
-       --with-schemas \
-       --with-threads \
-       --with-tree \
-       --with-valid \
-       --with-writer \
-       --with-xinclude \
-       --with-xpath \
-       --with-xptr \
-       --with-zlib=$(STAGING_DIR)/usr \
-       --with-iconv$(if $(ICONV_PREFIX),="$(ICONV_PREFIX)") \
-       --without-lzma
-
-HOST_CONFIGURE_ARGS += \
-       --disable-shared \
-       --enable-static \
-       --with-pic \
-       --with-c14n \
-       --without-catalog \
-       --with-debug \
-       --with-html \
-       --without-ftp \
-       --without-http \
-       --without-iconv \
-       --without-iso8859x \
-       --without-legacy \
-       --with-output \
-       --without-pattern \
-       --without-push \
-       --without-python \
-       --with-reader \
-       --without-readline \
-       --without-regexps \
-       --with-sax1 \
-       --with-schemas \
-       --with-threads \
-       --with-tree \
-       --with-valid \
-       --with-writer \
-       --with-xinclude \
-       --with-xpath \
-       --with-xptr \
-       --with-zlib \
-       --without-lzma
+CMAKE_HOST_OPTIONS += \
+       -DBUILD_SHARED_LIBS=OFF \
+       -DLIBXML2_WITH_C14N=ON \
+       -DLIBXML2_WITH_CATALOG=OFF \
+       -DLIBXML2_WITH_DEBUG=ON \
+       -DLIBXML2_WITH_FTP=OFF \
+       -DLIBXML2_WITH_HTML=ON \
+       -DLIBXML2_WITH_HTTP=OFF \
+       -DLIBXML2_WITH_ICONV=ON \
+       -DLIBXML2_WITH_ICU=OFF \
+       -DLIBXML2_WITH_ISO8859X=OFF \
+       -DLIBXML2_WITH_LEGACY=OFF \
+       -DLIBXML2_WITH_LZMA=OFF \
+       -DLIBXML2_WITH_MEM_DEBUG=OFF \
+       -DLIBXML2_WITH_MODULES=OFF \
+       -DLIBXML2_WITH_OUTPUT=ON \
+       -DLIBXML2_WITH_PATTERN=ON \
+       -DLIBXML2_WITH_PROGRAMS=OFF \
+       -DLIBXML2_WITH_PUSH=ON \
+       -DLIBXML2_WITH_PYTHON=OFF \
+       -DLIBXML2_WITH_READER=ON \
+       -DLIBXML2_WITH_REGEXPS=ON \
+       -DLIBXML2_WITH_RUN_DEBUG=OFF \
+       -DLIBXML2_WITH_SAX1=ON \
+       -DLIBXML2_WITH_SCHEMAS=ON \
+       -DLIBXML2_WITH_SCHEMATRON=OFF \
+       -DLIBXML2_WITH_TESTS=OFF \
+       -DLIBXML2_WITH_THREADS=ON \
+       -DLIBXML2_WITH_THREAD_ALLOC=OFF \
+       -DLIBXML2_WITH_TREE=ON \
+       -DLIBXML2_WITH_VALID=ON \
+       -DLIBXML2_WITH_WRITER=ON \
+       -DLIBXML2_WITH_XINCLUDE=ON \
+       -DLIBXML2_WITH_XPATH=ON \
+       -DLIBXML2_WITH_XPTR=ON \
+       -DLIBXML2_WITH_XPTR_LOCS=ON \
+       -DLIBXML2_WITH_ZLIB=ON
+
+CMAKE_OPTIONS += \
+       -DBUILD_SHARED_LIBS=ON \
+       -DLIBXML2_WITH_C14N=ON \
+       -DLIBXML2_WITH_CATALOG=OFF \
+       -DLIBXML2_WITH_DEBUG=ON \
+       -DLIBXML2_WITH_FTP=OFF \
+       -DLIBXML2_WITH_HTML=ON \
+       -DLIBXML2_WITH_HTTP=OFF \
+       -DLIBXML2_WITH_ICONV=ON \
+       -DLIBXML2_WITH_ICU=OFF \
+       -DLIBXML2_WITH_ISO8859X=OFF \
+       -DLIBXML2_WITH_LEGACY=OFF \
+       -DLIBXML2_WITH_LZMA=OFF \
+       -DLIBXML2_WITH_MEM_DEBUG=OFF \
+       -DLIBXML2_WITH_MODULES=OFF \
+       -DLIBXML2_WITH_OUTPUT=ON \
+       -DLIBXML2_WITH_PATTERN=ON \
+       -DLIBXML2_WITH_PROGRAMS=ON \
+       -DLIBXML2_WITH_PUSH=ON \
+       -DLIBXML2_WITH_PYTHON=OFF \
+       -DLIBXML2_WITH_READER=ON \
+       -DLIBXML2_WITH_REGEXPS=ON \
+       -DLIBXML2_WITH_RUN_DEBUG=OFF \
+       -DLIBXML2_WITH_SAX1=ON \
+       -DLIBXML2_WITH_SCHEMAS=ON \
+       -DLIBXML2_WITH_SCHEMATRON=OFF \
+       -DLIBXML2_WITH_TESTS=OFF \
+       -DLIBXML2_WITH_THREADS=ON \
+       -DLIBXML2_WITH_THREAD_ALLOC=OFF \
+       -DLIBXML2_WITH_TREE=ON \
+       -DLIBXML2_WITH_VALID=ON \
+       -DLIBXML2_WITH_WRITER=ON \
+       -DLIBXML2_WITH_XINCLUDE=ON \
+       -DLIBXML2_WITH_XPATH=ON \
+       -DLIBXML2_WITH_XPTR=ON \
+       -DLIBXML2_WITH_XPTR_LOCS=ON \
+       -DLIBXML2_WITH_ZLIB=ON \
+       -DHAVE_LIBHISTORY=OFF \
+       -DHAVE_LIBREADLINE=OFF
 
 define Build/InstallDev
        $(INSTALL_DIR) $(2)/bin
@@ -141,14 +151,18 @@ define Build/InstallDev
                $(2)/bin/$(GNU_TARGET_NAME)-xml2-config
        $(LN) $(GNU_TARGET_NAME)-xml2-config $(2)/bin/xml2-config
 
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmlcatalog $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmllint $(1)/usr/bin/
+
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/libxml2 $(1)/usr/include/
 
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.{la,a,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so* $(1)/usr/lib/
 
        $(INSTALL_DIR) $(1)/usr/lib/cmake/libxml2
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/libxml2/libxml2-config.cmake \
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/libxml2-$(PKG_VERSION)/*.cmake \
                $(1)/usr/lib/cmake/libxml2
 
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
diff --git a/libs/libxml2/patches/010-iconv.patch b/libs/libxml2/patches/010-iconv.patch
new file mode 100644 (file)
index 0000000..e35b7ce
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -496,6 +496,9 @@ if(LIBXML2_WITH_PROGRAMS)
+               add_executable(LibXml2::${PROGRAM} ALIAS ${PROGRAM})
+               target_compile_definitions(${PROGRAM} PRIVATE SYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}")
+               target_link_libraries(${PROGRAM} LibXml2)
++              if(LIBXML2_WITH_ICONV AND NOT Iconv_IS_BUILT_IN)
++                      target_link_libraries(${PROGRAM} iconv)
++              endif()
+               if(HAVE_LIBHISTORY)
+                       target_link_libraries(${PROGRAM} history)
+               endif()
index af44583a103e340b0107871c5aa99def23a79203..63d52f1a4dc21b1002d225743555c2bf07fb1eb1 100644 (file)
@@ -32,7 +32,7 @@ endef
 
 define Build/Compile
        cd $(PKG_BUILD_DIR)/PcapPlusPlus; ./configure-linux.sh --install-dir /usr
-       make -C $(PKG_BUILD_DIR)/PcapPlusPlus CXXFLAGS="$(TARGET_CXXFLAGS) -fPIC" CFLAGS="$(TARGET_CFLAGS) -fPIC" CXX=$(TARGET_CXX) CC=$(TARGET_CC) AR=$(TARGET_AR) libs
+       make -C $(PKG_BUILD_DIR)/PcapPlusPlus CXXFLAGS="$(TARGET_CXXFLAGS) -fPIC" CFLAGS="$(TARGET_CFLAGS) -fPIC" CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" AR=$(TARGET_AR) libs
 endef
 
 define Build/InstallDev
index 793c0cfd1262b5a78000d97de943c07e1b1e0984..7450393b99f48581a8ffe97b122637d3fd7db345 100644 (file)
@@ -5,7 +5,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=postgresql
-PKG_VERSION:=14.6
+PKG_VERSION:=15.1
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=PostgreSQL
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=\
        http://ftp.postgresql.org/pub/source/v$(PKG_VERSION) \
        ftp://ftp.postgresql.org/pub/source/v$(PKG_VERSION)
 
-PKG_HASH:=508840fc1809d39ab72274d5f137dabb9fd7fb4f933da4168aeebb20069edf22
+PKG_HASH:=64fdf23d734afad0dfe4077daca96ac51dcd697e68ae2d3d4ca6c45cb14e21ae
 
 PKG_USE_MIPS16:=0
 PKG_FIXUP:=autoreconf
index 3bf02efeeafadd1026ff935c45dd397cb1ade1c7..d4184a35427cf2ec0f28c54cabd9b3c1d6378d9e 100644 (file)
@@ -1,10 +1,10 @@
 --- a/src/port/Makefile
 +++ b/src/port/Makefile
-@@ -84,6 +84,7 @@ uninstall:
+@@ -83,6 +83,7 @@ uninstall:
  libpgport.a: $(OBJS)
        rm -f $@
        $(AR) $(AROPT) $@ $^
 +      $(RANLIB) libpgport.a
  
- # thread.o and thread_shlib.o need PTHREAD_CFLAGS (but thread_srv.o does not)
thread.o: CFLAGS+=$(PTHREAD_CFLAGS)
+ # getaddrinfo.o and getaddrinfo_shlib.o need PTHREAD_CFLAGS (but getaddrinfo_srv.o does not)
getaddrinfo.o: CFLAGS+=$(PTHREAD_CFLAGS)
diff --git a/libs/postgresql/patches/300-fix-includes.patch b/libs/postgresql/patches/300-fix-includes.patch
new file mode 100644 (file)
index 0000000..3611c8e
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/src/bin/pg_ctl/pg_ctl.c
++++ b/src/bin/pg_ctl/pg_ctl.c
+@@ -12,9 +12,11 @@
+ #include "postgres_fe.h"
+ #include <fcntl.h>
++#include <pwd.h>
+ #include <signal.h>
+ #include <time.h>
+ #include <sys/stat.h>
++#include <sys/types.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
diff --git a/libs/postgresql/patches/300-fix-pc-file.patch b/libs/postgresql/patches/300-fix-pc-file.patch
deleted file mode 100644 (file)
index 2d7eb97..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/Makefile.shlib
-+++ b/src/Makefile.shlib
-@@ -391,14 +391,27 @@ endif # PORTNAME == cygwin || PORTNAME =
- %.pc: $(MAKEFILE_LIST)
--      echo 'Name: lib$(NAME)' >$@
-+      echo 'prefix=$(prefix)' >$@
-+      echo 'exec_prefix=$(exec_prefix)' >>$@
-+ifeq ($(patsubst $(prefix)/%,,$(includedir)),)
-+      echo 'includedir=$${prefix}/$(patsubst $(prefix)/%,%,$(includedir))' >>$@
-+else
-+      echo 'includedir=$(includedir)' >>$@
-+endif
-+ifeq ($(patsubst $(exec_prefix)/%,,$(libdir)),)
-+      echo 'libdir=$${exec_prefix}/$(patsubst $(exec_prefix)/%,%,$(libdir))' >>$@
-+else
-+      echo 'libdir=$(libdir)' >>$@
-+endif
-+      echo >>$@
-+      echo 'Name: lib$(NAME)' >>$@
-       echo 'Description: PostgreSQL lib$(NAME) library' >>$@
-       echo 'Url: $(PACKAGE_URL)' >>$@
-       echo 'Version: $(VERSION)' >>$@
-       echo 'Requires: ' >>$@
-       echo 'Requires.private: $(PKG_CONFIG_REQUIRES_PRIVATE)' >>$@
--      echo 'Cflags: -I$(includedir)' >>$@
--      echo 'Libs: -L$(libdir) -l$(NAME)' >>$@
-+      echo 'Cflags: -I$${includedir}' >>$@
-+      echo 'Libs: -L$${libdir} -l$(NAME)' >>$@
- # Record -L flags that the user might have passed in to the PostgreSQL
- # build to locate third-party libraries (e.g., ldap, ssl).  Filter out
- # those that point inside the build or source tree.  Use sort to
index 9c4dcaae2f2f82ef41fa08404586545cb60651de..31dccffb4445147a50907155849252c57014d763 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2156,9 +2156,9 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
+@@ -2236,9 +2236,9 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
  # flags. If not, check if adding -march=armv8-a+crc flag helps.
  # CFLAGS_ARMV8_CRC32C is set if the extra flag is required.
  PGAC_ARMV8_CRC32C_INTRINSICS([])
index d114a820eacde6cd815e89a75b742dbc85acfd2c..64d558fcc03cf6971a7f2aa4a64a3917acdf7acc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/bin/pg_ctl/pg_ctl.c
 +++ b/src/bin/pg_ctl/pg_ctl.c
-@@ -94,6 +94,7 @@ static char *event_source = NULL;
+@@ -96,6 +96,7 @@ static char *event_source = NULL;
  static char *register_servicename = "PostgreSQL";     /* FIXME: + version ID? */
  static char *register_username = NULL;
  static char *register_password = NULL;
@@ -8,7 +8,7 @@
  static char *argv0 = NULL;
  static bool allow_core_files = false;
  static time_t start_time;
-@@ -2081,6 +2082,9 @@ do_help(void)
+@@ -2086,6 +2087,9 @@ do_help(void)
  #endif
        printf(_("  -s, --silent           only print errors, no informational messages\n"));
        printf(_("  -t, --timeout=SECS     seconds to wait when using -w option\n"));
@@ -18,7 +18,7 @@
        printf(_("  -V, --version          output version information, then exit\n"));
        printf(_("  -w, --wait             wait until operation completes (default)\n"));
        printf(_("  -W, --no-wait          do not wait until operation completes\n"));
-@@ -2293,6 +2297,7 @@ main(int argc, char **argv)
+@@ -2298,6 +2302,7 @@ main(int argc, char **argv)
                {"options", required_argument, NULL, 'o'},
                {"silent", no_argument, NULL, 's'},
                {"timeout", required_argument, NULL, 't'},
@@ -26,7 +26,7 @@
                {"core-files", no_argument, NULL, 'c'},
                {"wait", no_argument, NULL, 'w'},
                {"no-wait", no_argument, NULL, 'W'},
-@@ -2333,20 +2338,6 @@ main(int argc, char **argv)
+@@ -2338,20 +2343,6 @@ main(int argc, char **argv)
                }
        }
  
@@ -47,7 +47,7 @@
  
        env_wait = getenv("PGCTLTIMEOUT");
        if (env_wait != NULL)
-@@ -2432,11 +2423,15 @@ main(int argc, char **argv)
+@@ -2437,11 +2428,15 @@ main(int argc, char **argv)
                                        wait_seconds_arg = true;
                                        break;
                                case 'U':
@@ -63,7 +63,7 @@
                                        break;
                                case 'w':
                                        do_wait = true;
-@@ -2518,6 +2513,41 @@ main(int argc, char **argv)
+@@ -2523,6 +2518,41 @@ main(int argc, char **argv)
                exit(1);
        }
  
index 4e656fb2cbae95b2dbc1b9c6b20e43fb38a0b712..ca5b8488f099c5ac49ae3ed6fb1f80e85079b551 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sbc
-PKG_VERSION:=1.5
+PKG_VERSION:=2.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
-PKG_HASH:=0cbad69823a99e8421fe0700e8cf9eeb8fa0c1ad28e8dbc2182b3353507931d2
+PKG_HASH:=8f12368e1dbbf55e14536520473cfb338c84b392939cc9b64298360fd4a07992
 
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=COPYING.LIB
diff --git a/libs/sbc/patches/010-x86.patch b/libs/sbc/patches/010-x86.patch
deleted file mode 100644 (file)
index 8b5d5ac..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/sbc/sbc_primitives.c
-+++ b/sbc/sbc_primitives.c
-@@ -593,7 +593,9 @@ static int sbc_calc_scalefactors_j(
- static void sbc_init_primitives_x86(struct sbc_encoder_state *state)
- {
-+#ifdef __x86__
-       __builtin_cpu_init();
-+#endif
- #ifdef SBC_BUILD_WITH_MMX_SUPPORT
-       if (__builtin_cpu_supports("mmx"))
index 37539d946604821fe9d0b6ba6e1f9844a524a049..3b65ca7c1b644e4010da83bd6a1b8b911afc6bcb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tiff
 PKG_VERSION:=4.4.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.osgeo.org/libtiff
@@ -66,8 +66,6 @@ CMAKE_OPTIONS += \
        -Djpeg12=OFF \
        -Dcxx=OFF
 
-TARGET_CFLAGS += $(TARGET_CPPFLAGS)
-
 define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libtiff-4.pc
diff --git a/libs/tiff/patches/010-CVE-2022-2519.patch b/libs/tiff/patches/010-CVE-2022-2519.patch
new file mode 100644 (file)
index 0000000..6c61ed0
--- /dev/null
@@ -0,0 +1,93 @@
+From 8fe3735942ea1d90d8cef843b55b3efe8ab6feaf Mon Sep 17 00:00:00 2001
+From: Su_Laus <sulau@freenet.de>
+Date: Mon, 15 Aug 2022 22:11:03 +0200
+Subject: [PATCH] =?UTF-8?q?According=20to=20Richard=20Nolde=20https://gitl?=
+ =?UTF-8?q?ab.com/libtiff/libtiff/-/issues/401#note=5F877637400=20the=20ti?=
+ =?UTF-8?q?ffcrop=20option=20=E2=80=9E-S=E2=80=9C=20is=20also=20mutually?=
+ =?UTF-8?q?=20exclusive=20to=20the=20other=20crop=20options=20(-X|-Y),=20-?=
+ =?UTF-8?q?Z=20and=20-z.?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is now checked and ends tiffcrop if those arguments are not mutually exclusive.
+
+This MR will fix the following tiffcrop issues: #349, #414, #422, #423, #424
+---
+ tools/tiffcrop.c | 31 ++++++++++++++++---------------
+ 1 file changed, 16 insertions(+), 15 deletions(-)
+
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -108,12 +108,12 @@
+  *                lower level, scanline level routines. Debug reports a limited set
+  *                of messages to monitor progress without enabling dump logs.
+  * 
+- * Note:    The (-X|-Y), -Z and -z options are mutually exclusive.
++ * Note:    The (-X|-Y), -Z, -z and -S options are mutually exclusive.
+  *          In no case should the options be applied to a given selection successively.
+  */
+-static   char tiffcrop_version_id[] = "2.5";
+-static   char tiffcrop_rev_date[] = "02-09-2022";
++static   char tiffcrop_version_id[] = "2.5.1";
++static   char tiffcrop_rev_date[] = "15-08-2022";
+ #include "tif_config.h"
+ #include "libport.h"
+@@ -173,12 +173,12 @@ static   char tiffcrop_rev_date[] = "02-
+ #define ROTATECW_270 32
+ #define ROTATE_ANY (ROTATECW_90 | ROTATECW_180 | ROTATECW_270)
+-#define CROP_NONE     0
+-#define CROP_MARGINS  1
+-#define CROP_WIDTH    2
+-#define CROP_LENGTH   4
+-#define CROP_ZONES    8
+-#define CROP_REGIONS 16
++#define CROP_NONE     0     /* "-S" -> Page_MODE_ROWSCOLS and page->rows/->cols != 0 */
++#define CROP_MARGINS  1     /* "-m" */
++#define CROP_WIDTH    2     /* "-X" */
++#define CROP_LENGTH   4     /* "-Y" */
++#define CROP_ZONES    8     /* "-Z" */
++#define CROP_REGIONS 16     /* "-z" */
+ #define CROP_ROTATE  32
+ #define CROP_MIRROR  64
+ #define CROP_INVERT 128
+@@ -316,7 +316,7 @@ struct crop_mask {
+ #define PAGE_MODE_RESOLUTION   1
+ #define PAGE_MODE_PAPERSIZE    2
+ #define PAGE_MODE_MARGINS      4
+-#define PAGE_MODE_ROWSCOLS     8
++#define PAGE_MODE_ROWSCOLS     8    /* for -S option */
+ #define INVERT_DATA_ONLY      10
+ #define INVERT_DATA_AND_TAG   11
+@@ -781,7 +781,7 @@ static const char usage_info[] =
+ "             The four debug/dump options are independent, though it makes little sense to\n"
+ "             specify a dump file without specifying a detail level.\n"
+ "\n"
+-"Note:        The (-X|-Y), -Z and -z options are mutually exclusive.\n"
++"Note:        The (-X|-Y), -Z, -z and -S options are mutually exclusive.\n"
+ "             In no case should the options be applied to a given selection successively.\n"
+ "\n"
+ ;
+@@ -2131,13 +2131,14 @@ void  process_command_opts (int argc, ch
+               /*NOTREACHED*/
+       }
+     }
+-    /*-- Check for not allowed combinations (e.g. -X, -Y and -Z and -z are mutually exclusive) --*/
+-    char XY, Z, R;
++    /*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/
++    char XY, Z, R, S;
+     XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH));
+     Z = (crop_data->crop_mode & CROP_ZONES);
+     R = (crop_data->crop_mode & CROP_REGIONS);
+-    if ((XY && Z) || (XY && R) || (Z && R)) {
+-        TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z and -z are mutually exclusive.->Exit");
++    S = (page->mode & PAGE_MODE_ROWSCOLS);
++    if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) {
++        TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
+         exit(EXIT_FAILURE);
+     }
+   }  /* end process_command_opts */
diff --git a/libs/tiff/patches/020-CVE-2022-2520.patch b/libs/tiff/patches/020-CVE-2022-2520.patch
new file mode 100644 (file)
index 0000000..5cfa52e
--- /dev/null
@@ -0,0 +1,28 @@
+From bad48e90b410df32172006c7876da449ba62cdba Mon Sep 17 00:00:00 2001
+From: Su_Laus <sulau@freenet.de>
+Date: Sat, 20 Aug 2022 23:35:26 +0200
+Subject: [PATCH] tiffcrop -S option: Make decision simpler.
+
+---
+ tools/tiffcrop.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -2133,11 +2133,11 @@ void  process_command_opts (int argc, ch
+     }
+     /*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/
+     char XY, Z, R, S;
+-    XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH));
+-    Z = (crop_data->crop_mode & CROP_ZONES);
+-    R = (crop_data->crop_mode & CROP_REGIONS);
+-    S = (page->mode & PAGE_MODE_ROWSCOLS);
+-    if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) {
++    XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH)) ? 1 : 0;
++    Z = (crop_data->crop_mode & CROP_ZONES) ? 1 : 0;
++    R = (crop_data->crop_mode & CROP_REGIONS) ? 1 : 0;
++    S = (page->mode & PAGE_MODE_ROWSCOLS) ? 1 : 0;
++    if (XY + Z + R + S > 1) {
+         TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
+         exit(EXIT_FAILURE);
+     }
index 97cb1ae379fb43e9a157c3f6ff0f638043ee2168..b11d4aa300967c961890c30f185d49e24814fceb 100644 (file)
@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=alpine
 PKG_VERSION:=2.25
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=http://alpine.x10host.com/alpine/release/src
+PKG_SOURCE_URL:=https://alpineapp.email/alpine/release/src/Old
 PKG_HASH:=658a150982f6740bb4128e6dd81188eaa1212ca0bf689b83c2093bb518ecf776
 
 PKG_MAINTAINER:=Antti Seppälä <a.seppala@gmail.com>
index d4c1c2562e4d2f12bb3cf6e9ce5d02472fe8dd02..b25a955a97894ecb7131ef7a7b281449c534f589 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opendkim
 PKG_VERSION:=2.10.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
@@ -61,14 +61,14 @@ define Package/opendkim-tools/description
   opendkim-genzone, opendkim-testkey and opendkim-testmsg tools.
 endef
 
-TARGET_CFLAGS += $(FPIC)
-
 CONFIGURE_ARGS += \
        --without-db \
        --without-gcov \
        --without-gprof \
        --without-lcov \
-       --with-milter=$(STAGING_DIR)/usr
+       $(if $(CONFIG_USE_GLIBC),,--without-libbsd) \
+       --with-milter=$(STAGING_DIR)/usr \
+       --with-pic
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/sbin
diff --git a/mail/opendkim/patches/020-libbsd.patch b/mail/opendkim/patches/020-libbsd.patch
new file mode 100644 (file)
index 0000000..d9056b0
--- /dev/null
@@ -0,0 +1,2143 @@
+From f45f7d220e44477c2bc7d04735086e3d703f4b7f Mon Sep 17 00:00:00 2001
+From: Guilherme Janczak <guilherme.janczak@yandex.com>
+Date: Mon, 2 May 2022 13:42:48 +0000
+Subject: [PATCH] use transparent strlcpy/strlcat fallback
+
+Using _libbsd-overlay_ through pkg-config allows accessing
+`strlcpy`/`strlcat` by including `<string.h>`, just like on BSD. This
+simplifies compatibility code massively.
+---
+ INSTALL                       |  10 ++-
+ README                        |   6 +-
+ configure.ac                  | 127 +++++++++-------------------------
+ libopendkim/Makefile.am       |   4 +-
+ libopendkim/dkim-cache.c      |  10 ---
+ libopendkim/dkim-canon.c      |  16 +----
+ libopendkim/dkim-keys.c       |  16 +----
+ libopendkim/dkim-test.c       |  12 +---
+ libopendkim/dkim.c            |  46 +++++-------
+ libopendkim/tests/t-test122.c |  10 ---
+ libopendkim/tests/t-test123.c |  10 ---
+ libopendkim/tests/t-test127.c |  10 ---
+ libopendkim/tests/t-test131.c |  10 ---
+ libopendkim/tests/t-test136.c |  10 ---
+ libopendkim/tests/t-test142.c |  10 ---
+ libopendkim/tests/t-test153.c |  10 ---
+ libopendkim/tests/t-test42.c  |  10 ---
+ libopendkim/tests/t-test55.c  |  10 ---
+ libopendkim/tests/t-test56.c  |  10 ---
+ libopendkim/tests/t-test57.c  |  10 ---
+ libopendkim/tests/t-test73.c  |  12 +---
+ libopendkim/tests/t-test84.c  |  10 ---
+ libopendkim/tests/t-test88.c  |  10 ---
+ libopendkim/util.c            |  12 +---
+ miltertest/Makefile.am        |   4 +-
+ miltertest/miltertest.c       |  40 ++++-------
+ opendkim/Makefile.am          |   4 +-
+ opendkim/config.c             |  12 +---
+ opendkim/flowrate.c           |  10 ---
+ opendkim/opendkim-ar.c        |  12 +---
+ opendkim/opendkim-db.c        |  62 +++++++----------
+ opendkim/opendkim-spam.c      |  10 ---
+ opendkim/opendkim-testkey.c   |  10 ---
+ opendkim/opendkim.c           | 106 +++++++++++++---------------
+ opendkim/reputation.c         |  14 +---
+ opendkim/stats.c              |  10 ---
+ opendkim/test.c               |  12 +---
+ opendkim/util.c               |  12 +---
+ reprrd/reprrd.c               |  13 ++--
+ stats/Makefile.am             |   4 +-
+ stats/opendkim-importstats.c  |  10 ---
+ 41 files changed, 177 insertions(+), 569 deletions(-)
+
+--- a/INSTALL
++++ b/INSTALL
+@@ -50,7 +50,7 @@ doesn't find it, you will need to specif
+ --with-db-libdir
+ --with-db-lib
+               These provide a finer control over the location of BerkeleyDB
+-              include, library path and libary name where the default 
++              include, library path and libary name where the default
+               locations of --with-db are not enough.
+ --with-domain Specifies the local domain name in use.  Used only for
+@@ -129,9 +129,9 @@ doesn't find it, you will need to specif
+               /usr directories will be searched for the required includes
+               and libraries.
+---with-unbound        Location of the Unbound DNSSEC capable asynchronous resolver 
++--with-unbound        Location of the Unbound DNSSEC capable asynchronous resolver
+               library and include file.
+-                
++
+ FEATURES
+@@ -210,6 +210,10 @@ Steps to compiling the library and the m
+     system.
+       ./configure
++    Note: When creating a package, pass `--without-libbsd` to the configure
++    script. If it fails, the program depends on either of libbsd or libobsd
++    in your system.
++
+ (5) Compile the package.
+       make
+--- a/README
++++ b/README
+@@ -59,8 +59,8 @@ o sendmail v8.13.0 (or later), or Postfi
+ o Access to a working nameserver (required only for signature verification).
+-o On Linux systems, either libbsd (BSD compatibility library) or some other
+-  library that provides strlcat() and strlcpy().
++o If `./configure --without-libbsd` fails, either of libbsd or libobsd are
++  required. This happens on glibc, for instance.
+ o If you wish to interface the filter with SQL databases, or store statistical
+   information in a database, OpenDBX v1.3.7 or later is required.
+@@ -229,7 +229,7 @@ Other OpenDKIM issues:
+  Report any bugs to the email address opendkim-users@lists.opendkim.org or to
+  the sourceforge issue trackers accessible at:
+- 
++
+  https://sourceforge.net/p/opendkim/_list/tickets
+--- a/configure.ac
++++ b/configure.ac
+@@ -2,7 +2,7 @@
+ # Process this file with autoconf to produce a configure script.
+ #
+ # Copyright (c) 2009-2015, The Trusted Domain Project.  All rights reserved.
+-# 
++#
+ #
+ # Setup
+@@ -47,13 +47,13 @@ AC_CONFIG_MACRO_DIR([m4])
+ #
+ # Hexadecimal version, for use in generating dkim.h
+-# 
++#
+ HEX_VERSION=$(printf %08x $(( ((VERSION_RELEASE << 8 | VERSION_MAJOR_REV) << 8 | VERSION_MINOR_REV) << 8| VERSION_PATCH )))
+ AC_SUBST([HEX_VERSION])
+ #
+ # library version, passed to libtool
+-# 
++#
+ LIBOPENDKIM_VERSION_INFO=$(printf %d:%d:%d LIBVERSION_CURRENT LIBVERSION_REVISION LIBVERSION_AGE)
+ AC_SUBST([LIBOPENDKIM_VERSION_INFO])
+@@ -130,11 +130,11 @@ AC_CHECK_TYPES([useconds_t])
+ # See if libopendkim will need -lresolv
+ #
+ dnscheck='
+-#include "confdefs.h" 
++#include "confdefs.h"
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/nameser.h>
+-#include <resolv.h> 
++#include <resolv.h>
+ int main() {
+ res_mkquery (0, 0, 0, 0, 0, 0, 0, 0, 0);
+ dn_expand (0, 0, 0, 0, 0);
+@@ -165,7 +165,7 @@ $dnscheck
+       LIBS="$saved_LIBS"
+ ])
+ AC_SUBST([LIBRESOLV])
+- 
++
+ #
+ # Checks for header files
+ #
+@@ -196,78 +196,17 @@ AC_FUNC_REALLOC
+ AC_CHECK_FUNCS([dup2 endpwent getcwd gethostname gethostbyname getaddrinfo gethostbyname2 gettimeofday isascii memchr memmove memset regcomp select socket strcasecmp strchr strdup strerror strncasecmp strrchr strstr strtol strtoul strtoull realpath strsep])
+-bsdstrl_h_found="no"
+-strl_found="no"
+-libstrl_found="no"
+-strl_h_found="no"
+-
+-AC_CHECK_HEADERS([bsd/string.h], [bsdstrl_h_found="yes"])
+-
+-AC_CHECK_FUNCS([strlcat strlcpy], [strl_found="yes"],
+-               [
+-              saved_LIBS="$LIBS"
+-              LIBS="$outer_LIBS"
+-              AC_SEARCH_LIBS([strlcat],
+-                             [bsd strl],
+-                             [libstrl_found="yes"],
+-                             [strl_found="no"])
+-              AC_SEARCH_LIBS([strlcpy],
+-                             [bsd strl],
+-                             [libstrl_found="yes"],
+-                             [strl_found="no"])
+-              STRL_LIBS="$LIBS"
+-              LIBS="$saved_LIBS"
+-               ])
+-
+-if test x"$libstrl_found" = x"yes"
+-then
+-      LIBS="$LIBS $STRL_LIBS"
+-fi
+-
+-# we need something above to have worked
+-if test x"$strl_found" != x"yes" -a x"$libstrl_found" != x"yes"
+-then
+-      AC_MSG_ERROR(no strlcpy/strlcat found)
+-fi
+-
+-AC_CHECK_HEADERS([strl.h], [strl_h_found="yes"])
+-if test x"$strl_h_found" != x"yes"
+-then
+-      strldirs="/usr/local/include /usr/include"
+-
+-      for d in $strldirs
+-      do
+-              AC_MSG_CHECKING([for strl.h in $d/strl])
+-              if test -f $d/strl/strl.h
+-              then
+-                      unset ac_cv_header_strl_h
+-                      saved_CPPFLAGS="$CPPFLAGS"
+-                      CPPFLAGS="$CPPFLAGS -I$d/strl"
+-                      AC_CHECK_HEADERS([strl.h], [strl_h_found="yes"])
+-                      CPPFLAGS="$saved_CPPFLAGS"
+-              fi
+-
+-              if test x"$strl_h_found" = x"yes"
+-              then
+-                      CPPFLAGS="$CPPFLAGS -I$d/strl"
+-                      break
+-              fi
+-      done
+-fi
+-
+-# we need to include <strl.h> if an installed strl.h was found and no
+-# bsd/string.h was found
+-if test x"$strl_h_found" = x"yes" -a x"$bsdstrl_h_found" = x"no"
+-then
+-      AC_DEFINE([USE_STRL_H], 1,
+-                [Define to 1 if you need to include <strl.h> to get the `strlcat()' and `strlcpy()' functions.])
+-fi
+-
+-if test x"$bsdstrl_h_found" = x"yes"
+-then
+-      AC_DEFINE([USE_BSD_H], 1,
+-                [Define to 1 if you need to include <bsd/string.h> to get the `strlcat()' and `strlcpy()' functions.])
+-fi
++AC_ARG_WITH([libbsd], AS_HELP_STRING([--without-libbsd],
++                                     [Error when BSD functions are not found]))
++AC_CHECK_FUNCS([strlcpy strlcat],, [LIBBSD_NEEDED=yes])
++AS_IF([test "x$LIBBSD_NEEDED" = "xyes"], [
++      AS_IF([test "x$with_libbsd" = "xno"], [
++            AC_MSG_ERROR([BSD functions not found and --without-libbsd was used])
++      ])
++      PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay],,
++                                      [AC_MSG_ERROR([BSD functions not found,
++                                       libbsd is required])])
++])
+ #
+ # Checks for structure members
+@@ -446,7 +385,7 @@ fi
+ #
+ # test coverage/profiling stuff
+-# 
++#
+ AC_ARG_ENABLE([codecoverage],
+       AS_HELP_STRING([--enable-codecoverage],
+                      [include code coverage/profiling code]))
+@@ -574,7 +513,7 @@ AM_CONDITIONAL(GPROF_FILENAMES, test x"$
+ #
+ # opendkim
+-# 
++#
+ AC_ARG_ENABLE([filter],
+               AS_HELP_STRING([--disable-filter],
+                              [do not compile the opendkim filter]),
+@@ -732,7 +671,7 @@ then
+               #if GNUTLS_VERSION_NUMBER < 0x020b07
+               # error GnuTLS 2.11.7 or later required
+-              #endif 
++              #endif
+               int main()
+               {
+                       return 0;
+@@ -1009,7 +948,7 @@ AC_SUBST(LIBMILTER_LIBS)
+ #
+ # librrd
+-# 
++#
+ AC_ARG_WITH([librrd],
+             AS_HELP_STRING([--with-librrd],
+                            [location of librrd includes and library]),
+@@ -1023,7 +962,7 @@ fi
+ if test \( x"$librrdpath" = x"auto" -o x"$librrdpath" = x"yes" \) -a x"$PKG_CONFIG" != x""
+ then
+-      PKG_CHECK_MODULES([RRDTOOL], [librrd], 
++      PKG_CHECK_MODULES([RRDTOOL], [librrd],
+                         [
+                               librrd_found="yes"
+                         ],
+@@ -1085,7 +1024,7 @@ AC_SUBST(RRDTOOL_LIBS)
+ #
+ # libmemcached
+-# 
++#
+ AC_ARG_WITH([libmemcached],
+             AS_HELP_STRING([--with-libmemcached],
+                            [location of libmemcached includes and library]),
+@@ -1095,7 +1034,7 @@ libmemcache_found="no"
+ if test \( x"$libmcdpath" = x"auto" -o x"$libmcdpath" = x"yes" \) -a x"$PKG_CONFIG" != x""
+ then
+-      PKG_CHECK_MODULES([LIBMEMCACHED], [libmemcached >= 0.36], 
++      PKG_CHECK_MODULES([LIBMEMCACHED], [libmemcached >= 0.36],
+                         [
+                               libmemcache_found="yes"
+                               LIBMEMCACHED_INCDIRS="$LIBMEMCACHED_CFLAGS"
+@@ -1159,7 +1098,7 @@ main()
+       return 0;
+ }
+               ])],
+-              AC_MSG_RESULT([ok]), 
++              AC_MSG_RESULT([ok]),
+               AC_MSG_ERROR([libmemcached version 0.36 or later required]))
+ fi
+@@ -1383,7 +1322,7 @@ if test \(  x"$trepath" = x"auto" -o x"$
+ then
+         PKG_CHECK_MODULES([LIBTRE], [tre >= 0.8.0], [tre_found="yes"],
+       [
+-              PKG_CHECK_MODULES([LIBTRE], [tre >= 0.7.5], 
++              PKG_CHECK_MODULES([LIBTRE], [tre >= 0.7.5],
+               [
+                       tre_found="yes"
+                       AC_DEFINE([TRE_PRE_080], 1,
+@@ -1626,7 +1565,7 @@ main()
+       return 0;
+ }
+                               ])],
+-                              AC_MSG_RESULT([ok]), 
++                              AC_MSG_RESULT([ok]),
+                               AC_MSG_ERROR([Lua version 5.1 or later required]))
+       CPPFLAGS="$saved_CPPFLAGS"
+       AC_DEFINE([USE_LUA], 1, [support for Lua scripting])
+@@ -1836,7 +1775,7 @@ main()
+       return 0;
+ }
+                               ])],
+-                              AC_MSG_RESULT([ok]), 
++                              AC_MSG_RESULT([ok]),
+                               AC_MSG_ERROR([OpenLDAP version 2.1.3 or later required]))
+       CPPFLAGS="$saved_CPPFLAGS"
+       AC_DEFINE([USE_LDAP], 1, [OpenLDAP support for datasets enabled])
+@@ -2086,7 +2025,7 @@ fi
+ #
+ # reputation requires libjansson
+-# 
++#
+ AC_ARG_WITH([libjansson],
+             AS_HELP_STRING([--with-libjansson],
+@@ -2418,7 +2357,7 @@ AC_DEFINE_UNQUOTED([LIBOPENDKIM_FEATURE_
+ #
+ # setup for testing
+-# 
++#
+ AC_ARG_ENABLE([live-testing],
+               AS_HELP_STRING([--disable-live-testing],
+@@ -2428,7 +2367,7 @@ AM_CONDITIONAL(LIVE_TESTS, test x"$live_
+ #
+ # specify test socket
+-# 
++#
+ AC_ARG_WITH([test-socket],
+             AS_HELP_STRING([--with-test-socket],
+@@ -2535,7 +2474,7 @@ AC_SUBST(LIBERL_LIBS)
+ CPPFLAGS="$CPPFLAGS -DCONFIG_BASE=\\\"$sysconfdir\\\""
+-test "x$prefix" = xNONE && prefix=$ac_default_prefix 
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
+ SYSCONFDIR=`eval echo "$sysconfdir"`
+ AC_SUBST([SYSCONFDIR])
+@@ -2645,7 +2584,7 @@ AC_OUTPUT([      Makefile
+               miltertest/Makefile
+               opendkim/Makefile opendkim/opendkim.8 opendkim/opendkim-genkey
+                       opendkim/opendkim-genkey.8 opendkim/opendkim-genzone.8
+-                      opendkim/opendkim-lua.3 
++                      opendkim/opendkim-lua.3
+                       opendkim/opendkim-testkey.8 opendkim/opendkim-stats.8
+                       opendkim/opendkim-testmsg.8 opendkim/opendkim.conf.5
+                       opendkim/opendkim.conf.simple
+--- a/libopendkim/Makefile.am
++++ b/libopendkim/Makefile.am
+@@ -9,9 +9,9 @@ LDADD = ./libopendkim.la
+ lib_LTLIBRARIES = libopendkim.la
+ libopendkim_la_SOURCES = base32.c base64.c dkim-atps.c dkim-cache.c dkim-canon.c dkim-dns.c dkim-keys.c dkim-mailparse.c dkim-report.c dkim-tables.c dkim-test.c dkim-util.c dkim.c util.c base64.h dkim-cache.h dkim-canon.h dkim-dns.h dkim-internal.h dkim-keys.h dkim-mailparse.h dkim-report.h dkim-tables.h dkim-test.h dkim-types.h dkim-util.h dkim.h util.h
+-libopendkim_la_CPPFLAGS = $(LIBCRYPTO_CPPFLAGS)
++libopendkim_la_CPPFLAGS = $(LIBCRYPTO_CPPFLAGS) $(LIBBSD_CFLAGS)
+ libopendkim_la_CFLAGS = $(LIBCRYPTO_INCDIRS) $(LIBOPENDKIM_INC) $(COV_CFLAGS)
+-libopendkim_la_LDFLAGS = -no-undefined  $(LIBCRYPTO_LIBDIRS) $(COV_LDFLAGS) -version-info $(LIBOPENDKIM_VERSION_INFO)
++libopendkim_la_LDFLAGS = -no-undefined  $(LIBCRYPTO_LIBDIRS) $(COV_LDFLAGS) -version-info $(LIBOPENDKIM_VERSION_INFO) $(LIBBSD_LIBS)
+ libopendkim_la_LIBADD = $(LIBOPENDKIM_LIBS) $(LIBCRYPTO_LDADD) $(COV_LIBADD)
+ if !ALL_SYMBOLS
+ libopendkim_la_DEPENDENCIES = symbols.map
+--- a/libopendkim/dkim-cache.c
++++ b/libopendkim/dkim-cache.c
+@@ -29,16 +29,6 @@
+ #include "dkim-internal.h"
+ #include "dkim-cache.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* limits, macros, etc. */
+ #define       BUFRSZ                  1024
+ #define DB_MODE                       (S_IRUSR|S_IWUSR)
+--- a/libopendkim/dkim-canon.c
++++ b/libopendkim/dkim-canon.c
+@@ -45,16 +45,6 @@
+ #include "dkim-util.h"
+ #include "util.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* definitions */
+ #define       CRLF    (u_char *) "\r\n"
+ #define       SP      (u_char *) " "
+@@ -379,7 +369,7 @@ dkim_canon_header_string(struct dkim_dst
+                               tmp = tmpbuf;
+                       }
+-                      
++
+                       if (*p == ':')
+                       {
+                               p++;
+@@ -681,7 +671,7 @@ dkim_canon_init(DKIM *dkim, _Bool tmp, _
+                               DKIM_FREE(dkim, sha);
+                               return DKIM_STAT_INTERNAL;
+                       }
+-                              
++
+                       if (tmp)
+                       {
+                               status = dkim_tmpfile(dkim, &fd, keep);
+@@ -1512,7 +1502,7 @@ dkim_canon_signature(DKIM *dkim, struct
+               tmphdr.hdr_next = NULL;
+               if (cur->canon_canon == DKIM_CANON_RELAXED)
+                       dkim_lowerhdr(tmphdr.hdr_text);
+-              
++
+               /* canonicalize the signature */
+               status = dkim_canon_header(dkim, cur, &tmphdr, FALSE);
+               if (status != DKIM_STAT_OK)
+--- a/libopendkim/dkim-keys.c
++++ b/libopendkim/dkim-keys.c
+@@ -29,16 +29,6 @@
+ #include "dkim-test.h"
+ #include "util.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* prototypes */
+ extern void dkim_error __P((DKIM *, const char *, ...));
+@@ -156,7 +146,7 @@ dkim_get_key_dns(DKIM *dkim, DKIM_SIGINF
+                       dkim_error(dkim, "'%s' query failed", qname);
+                       return DKIM_STAT_KEYFAIL;
+               }
+-      
++
+               if (lib->dkiml_dns_callback == NULL)
+               {
+                       timeout.tv_sec = dkim->dkim_timeout;
+@@ -240,7 +230,7 @@ dkim_get_key_dns(DKIM *dkim, DKIM_SIGINF
+               /* copy it first */
+               (void) dn_expand((unsigned char *) &ansbuf, eom, cp,
+                                (char *) qname, sizeof qname);
+- 
++
+               if ((n = dn_skipname(cp, eom)) < 0)
+               {
+                       dkim_error(dkim, "'%s' reply corrupt", qname);
+@@ -420,7 +410,7 @@ dkim_get_key_dns(DKIM *dkim, DKIM_SIGINF
+ **    and must be set prior to use of this function.  Failing to do
+ **    so will cause this function to return DKIM_STAT_KEYFAIL every time.
+ **    The file should contain lines of the form:
+-** 
++**
+ **            <selector>._domainkey.<domain> <space> key-data
+ **
+ **    Case matching on the left is case-sensitive, but libopendkim already
+--- a/libopendkim/dkim-test.c
++++ b/libopendkim/dkim-test.c
+@@ -36,16 +36,6 @@
+ #include "dkim-util.h"
+ #include "dkim-test.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* definitions */
+ #define       TESTTTL                 300
+ #define MAXPACKET             8192
+@@ -443,7 +433,7 @@ dkim_test_key(DKIM_LIB *lib, char *selec
+                       }
+                       return -1;
+               }
+-      
++
+               rsa->rsa_keysize = RSA_size(rsa->rsa_rsa);
+               rsa->rsa_pad = RSA_PKCS1_PADDING;
+--- a/libopendkim/dkim.c
++++ b/libopendkim/dkim.c
+@@ -91,16 +91,6 @@
+ #include "util.h"
+ #include "base64.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* prototypes */
+ void dkim_error __P((DKIM *, const char *, ...));
+@@ -264,7 +254,7 @@ const u_char *dkim_required_signhdrs[] =
+ /* ========================= PRIVATE SECTION ========================= */
+ /*
+-**  DKIM_SET_FREE -- destroy a DKIM_SET 
++**  DKIM_SET_FREE -- destroy a DKIM_SET
+ **
+ **  Parameters:
+ **    dkim -- DKIM context
+@@ -744,7 +734,7 @@ dkim_process_set(DKIM *dkim, dkim_set_t
+                       }
+               }
+               break;
+-              
++
+         case DKIM_SETTYPE_SIGNATURE:
+               /* make sure required stuff is here */
+               if (dkim_param_get(set, (u_char *) "s") == NULL ||
+@@ -881,7 +871,7 @@ dkim_process_set(DKIM *dkim, dkim_set_t
+               }
+               break;
+-                      
++
+         default:
+               assert(0);
+       }
+@@ -1081,7 +1071,7 @@ dkim_privkey_load(DKIM *dkim)
+       }
+ #endif /* USE_GNUTLS */
+-#ifdef USE_GNUTLS 
++#ifdef USE_GNUTLS
+       status = gnutls_x509_privkey_init(&rsa->rsa_key);
+       if (status != GNUTLS_E_SUCCESS)
+       {
+@@ -2386,7 +2376,7 @@ dkim_gensighdr(DKIM *dkim, DKIM_SIGINFO
+               format = "v=%s;%sa=%s;%sc=%s/%s;%sd=%s;%ss=%s;%st=%llu";
+       else if (sizeof(sig->sig_timestamp) == sizeof(unsigned long))
+               format = "v=%s;%sa=%s;%sc=%s/%s;%sd=%s;%ss=%s;%st=%lu";
+-      else 
++      else
+               format = "v=%s;%sa=%s;%sc=%s/%s;%sd=%s;%ss=%s;%st=%u";
+       (void) dkim_dstring_printf(dstr, format,
+@@ -3141,7 +3131,7 @@ dkim_headercheck(DKIM *dkim)
+ /*
+ **  DKIM_EOH_SIGN -- declare end-of-headers; prepare for signing
+-** 
++**
+ **  Parameters:
+ **    dkim -- DKIM handle
+ **
+@@ -3289,7 +3279,7 @@ dkim_eoh_sign(DKIM *dkim)
+ /*
+ **  DKIM_EOH_VERIFY -- declare end-of-headers; set up verification
+-** 
++**
+ **  Parameters:
+ **    dkim -- DKIM handle
+ **
+@@ -4273,7 +4263,7 @@ dkim_init(void *(*caller_mallocf)(void *
+       libhandle->dkiml_skipre = FALSE;
+       libhandle->dkiml_malloc = caller_mallocf;
+       libhandle->dkiml_free = caller_freef;
+-      strlcpy((char *) libhandle->dkiml_tmpdir, (char *) td, 
++      strlcpy((char *) libhandle->dkiml_tmpdir, (char *) td,
+               sizeof libhandle->dkiml_tmpdir);
+       libhandle->dkiml_flags = DKIM_LIBFLAGS_DEFAULT;
+       libhandle->dkiml_timeout = DEFTIMEOUT;
+@@ -4305,7 +4295,7 @@ dkim_init(void *(*caller_mallocf)(void *
+       libhandle->dkiml_dns_start = dkim_res_query;
+       libhandle->dkiml_dns_cancel = dkim_res_cancel;
+       libhandle->dkiml_dns_waitreply = dkim_res_waitreply;
+-      
++
+ #define FEATURE_INDEX(x)      ((x) / (8 * sizeof(u_int)))
+ #define FEATURE_OFFSET(x)     ((x) % (8 * sizeof(u_int)))
+ #define FEATURE_ADD(lib,x)    (lib)->dkiml_flist[FEATURE_INDEX((x))] |= (1 << FEATURE_OFFSET(x))
+@@ -4369,7 +4359,7 @@ dkim_close(DKIM_LIB *lib)
+       if (lib->dkiml_skipre)
+               (void) regfree(&lib->dkiml_skiphdrre);
+-      
++
+       if (lib->dkiml_signre)
+               (void) regfree(&lib->dkiml_hdrre);
+@@ -4386,7 +4376,7 @@ dkim_close(DKIM_LIB *lib)
+       if (lib->dkiml_dns_close != NULL && lib->dkiml_dns_service != NULL)
+               lib->dkiml_dns_close(lib->dkiml_dns_service);
+-      
++
+       free((void *) lib);
+ #ifndef USE_GNUTLS
+@@ -6206,7 +6196,7 @@ dkim_header(DKIM *dkim, u_char *hdr, siz
+ /*
+ **  DKIM_EOH -- declare end-of-headers
+-** 
++**
+ **  Parameters:
+ **    dkim -- DKIM handle
+ **
+@@ -6449,7 +6439,7 @@ dkim_chunk(DKIM *dkim, u_char *buf, size
+                               dkim->dkim_chunksm = 0;
+                       }
+                       break;
+-                      
++
+                 case 2:
+                       if (DKIM_ISLWSP(*p))
+                       {
+@@ -6479,7 +6469,7 @@ dkim_chunk(DKIM *dkim, u_char *buf, size
+                               break;
+                       }
+                       /* FALLTHROUGH */
+-                              
++
+                 case 3:
+                       if (*p == '\n')
+                       {
+@@ -6898,7 +6888,7 @@ dkim_getsighdr_d(DKIM *dkim, size_t init
+                                                                 n);
+                                               x += n;
+                                               len += n;
+-                                              
++
+                                       }
+                               }
+                               else
+@@ -7015,7 +7005,7 @@ dkim_sig_hdrsigned(DKIM_SIGINFO *sig, u_
+                       if (c1 == NULL)
+                       {
+                               start = hdrlist;
+-                              len = c2 - start; 
++                              len = c2 - start;
+                       }
+                       else
+                       {
+@@ -7087,7 +7077,7 @@ dkim_sig_setdnssec(DKIM_SIGINFO *sig, in
+ {
+       assert(sig != NULL);
+-      switch (dnssec_status) 
++      switch (dnssec_status)
+       {
+         case DKIM_DNSSEC_BOGUS:
+         case DKIM_DNSSEC_INSECURE:
+@@ -8923,7 +8913,7 @@ dkim_add_querymethod(DKIM *dkim, const c
+                          strlen(type) + 1);
+               return DKIM_STAT_NORESOURCE;
+       }
+-              
++
+       if (options != NULL)
+       {
+               q->qm_options = dkim_strdup(dkim, tmp, 0);
+--- a/libopendkim/tests/t-test122.c
++++ b/libopendkim/tests/t-test122.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       GIBBERISHLEN    (sizeof(GIBBERISH) - 1)
+--- a/libopendkim/tests/t-test123.c
++++ b/libopendkim/tests/t-test123.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       GIBBERISHLEN    (sizeof(GIBBERISH) - 1)
+--- a/libopendkim/tests/t-test127.c
++++ b/libopendkim/tests/t-test127.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       MAXMSGSIZE      16384
+--- a/libopendkim/tests/t-test131.c
++++ b/libopendkim/tests/t-test131.c
+@@ -23,16 +23,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       NULLBH          "bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="
+--- a/libopendkim/tests/t-test136.c
++++ b/libopendkim/tests/t-test136.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define SIG2 "v=1; a=rsa-sha1; c=relaxed/relaxed; d=example.com; s=test;\r\n\tt=1172620939; bh=Z9ONHHsBrKN0pbfrOu025VfbdR4=;\r\n\th=Received:Received:Received:From:To:Date:Subject:Message-ID;\r\n\tb=Jf+j2RDZRkpIF1KaL5ByhHFPWj5RMeX5764IVlwIc11equjQND51K9FfL5pyjXvwj\r\n\t FoFPW0PGJb3liej6iDDEHgYpXR4p5qqlGx/C1Q9gf/MQN/Xlkv6ZXgR38QnWAfZxh5\r\n\t N1f5xUg+SJb5yBDoXklG62IRdia1Hq9MuiGumrGM="
+--- a/libopendkim/tests/t-test142.c
++++ b/libopendkim/tests/t-test142.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       MAXMSGSIZE      16384
+--- a/libopendkim/tests/t-test153.c
++++ b/libopendkim/tests/t-test153.c
+@@ -18,16 +18,6 @@
+ # include <gnutls/gnutls.h>
+ #endif /* USE_GNUTLS */
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* libopendkim includes */
+ #include "../dkim.h"
+ #include "t-testdata.h"
+--- a/libopendkim/tests/t-test42.c
++++ b/libopendkim/tests/t-test42.c
+@@ -26,16 +26,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define SIG2 "v=1; a=rsa-sha256; c=simple/simple; d=example.com; s=test;\r\n\tt=1172620939; bh=yHBAX+3IwxTZIynBuB/5tlsBInJq9n8qz5fgAycHi80=;\r\n\th=Received:Received:Received:From:To:Date:Subject:Message-ID; b=Y3y\r\n\tVeA3WZdCZl1sGuOZNC3BBRhtGCOExkZdw5xQoGPvSX/q6AC1SAJvOUWOri95AZAUGs0\r\n\t/bIDzzt23ei9jc+rptlavrl/5ijMrl6ShmvkACk6It62KPkJcDpoGfi5AZkrfX1Ou/z\r\n\tqGg5xJX86Kqd7FgNolMg7PbfyWliK2Yb84="
+--- a/libopendkim/tests/t-test55.c
++++ b/libopendkim/tests/t-test55.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       GIBBERISHLEN    (sizeof(GIBBERISH) - 1)
+--- a/libopendkim/tests/t-test56.c
++++ b/libopendkim/tests/t-test56.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       GIBBERISHLEN    (sizeof(GIBBERISH) - 1)
+--- a/libopendkim/tests/t-test57.c
++++ b/libopendkim/tests/t-test57.c
+@@ -24,16 +24,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define SIG2 "v=1; a=rsa-sha256; c=relaxed/simple; d=example.com; s=test;\r\n\tt=1172620939; bh=TRy6u0KYixKENCPL95G1Y1uwclQ9rWthX6rFgE7gWb8=;\r\n\th=Received:Received:Received:From:To:Date:Subject:Message-ID;\r\n\tb=aMDMwcz08Na0zYLrEZnUMBUipMh3blE+pWiBSvX+t2ynaDUGTqd27xuR5JddL9y1T\r\n\t 6h0LkUMIcijsPBWa1WWfKL23QceksV75Y1/Tt6gmVi3SdVAoJbbZImrOaAQ3YQAn64\r\n\t dp1vI0Z8gSashYlwy+7gtmVSLAj/fpcAF6yNDPuE="
+--- a/libopendkim/tests/t-test73.c
++++ b/libopendkim/tests/t-test73.c
+@@ -27,16 +27,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       BUFRSZ          1024
+ #define       MAXADDRESS      256
+ #define       MAXHEADER       4096
+@@ -85,7 +75,7 @@ stub_dns_waitreply(void *srv, void *qh,
+       memset(&newhdr, '\0', sizeof newhdr);
+       memset(&dnptrs, '\0', sizeof dnptrs);
+-              
++
+       newhdr.qdcount = htons(1);
+       newhdr.ancount = htons(1);
+       newhdr.rcode = NOERROR;
+--- a/libopendkim/tests/t-test84.c
++++ b/libopendkim/tests/t-test84.c
+@@ -26,16 +26,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       SIG1 "v=1; a=rsa-sha256; c=relaxed/simple; d=sendmail.com; s=test; t=1172620939; i=@eng.sendmail.com; bh=yHBAX+3IwxTZIynBuB/5tlsBInJq9n8qz5fgAycHi80=; h=Received:Received:Received:From:To:Date:Subject:Message-ID; b=r5DyHh4oxZcCBcIzpKTnEk6yvWDI9g9DI+UUIwl2ZAcZ6P0BbsOQ8MEjmUdwlZitqoFLa25/Re8/rC5kHasOb3vs0T37vkasoTb1rGR7y/bcMnY4hRkPAyC7NoLoTjneJMTQ/WQYnZe3DJ8lVuDRYvY9BeV2EjH8kiGsa9QttiA="
+--- a/libopendkim/tests/t-test88.c
++++ b/libopendkim/tests/t-test88.c
+@@ -22,16 +22,6 @@
+ #include "../dkim.h"
+ #include "t-testdata.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #define       MAXHEADER       4096
+ #define       MAXMSGSIZE      16384
+--- a/libopendkim/util.c
++++ b/libopendkim/util.c
+@@ -27,16 +27,6 @@
+ #include "dkim-internal.h"
+ #include "util.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #if defined(__RES) && (__RES >= 19940415)
+ # define RES_UNC_T            char *
+ #else /* __RES && __RES >= 19940415 */
+@@ -198,7 +188,7 @@ dkim_lowerhdr(unsigned char *str)
+ /*
+ **  DKIM_HEXCHAR -- translate a hexadecimal character
+-**  
++**
+ **  Parameters:
+ **    c -- character to translate
+ **
+--- a/miltertest/Makefile.am
++++ b/miltertest/Makefile.am
+@@ -10,8 +10,8 @@ if LUA
+ bin_PROGRAMS = miltertest
+ miltertest_SOURCES = miltertest.c
+-miltertest_CPPFLAGS = -I$(srcdir)/../libopendkim $(LIBMILTER_INCDIRS) $(LIBLUA_INCDIRS)
+-miltertest_LDFLAGS = ../libopendkim/libopendkim.la $(LIBLUA_LIBDIRS)
++miltertest_CPPFLAGS = -I$(srcdir)/../libopendkim $(LIBMILTER_INCDIRS) $(LIBLUA_INCDIRS) $(LIBBSD_CFLAGS)
++miltertest_LDFLAGS = ../libopendkim/libopendkim.la $(LIBLUA_LIBDIRS) $(LIBBSD_LIBS)
+ miltertest_LDADD = $(LIBLUA_LIBS) $(LIBNSL_LIBS)
+ man_MANS = miltertest.8
+--- a/miltertest/miltertest.c
++++ b/miltertest/miltertest.c
+@@ -37,16 +37,6 @@
+ /* libopendkim includes */
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* Lua includes */
+ #include <lua.h>
+ #include <lualib.h>
+@@ -410,7 +400,7 @@ mt_eom_request(struct mt_context *ctx, c
+ **    cmd -- milter command received (returned)
+ **    buf -- where to write data
+ **    buflen -- bytes available at "buf" (updated)
+-** 
++**
+ **  Return value:
+ **    TRUE iff successful.
+ */
+@@ -618,7 +608,7 @@ mt_assert_state(struct mt_context *ctx,
+                       if (verbose > 0)
+                       {
+                               fprintf(stdout,
+-                                      "%s: filter returned status %d to option negotiation on fd %d\n", 
++                                      "%s: filter returned status %d to option negotiation on fd %d\n",
+                                       progname, rcmd, ctx->ctx_fd);
+                       }
+@@ -679,7 +669,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to connection information on fd %d\n", 
++                                              "%s: filter returned status %d to connection information on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -722,7 +712,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to HELO on fd %d\n", 
++                                              "%s: filter returned status %d to HELO on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -765,7 +755,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to MAIL on fd %d\n", 
++                                              "%s: filter returned status %d to MAIL on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -808,7 +798,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to RCPT on fd %d\n", 
++                                              "%s: filter returned status %d to RCPT on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -848,7 +838,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to DATA on fd %d\n", 
++                                              "%s: filter returned status %d to DATA on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -894,7 +884,7 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to header on fd %d\n", 
++                                              "%s: filter returned status %d to header on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+@@ -933,10 +923,10 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to EOH on fd %d\n", 
++                                              "%s: filter returned status %d to EOH on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+-      
++
+                               ctx->ctx_state = STATE_DEAD;
+                       }
+               }
+@@ -973,10 +963,10 @@ mt_assert_state(struct mt_context *ctx,
+                               if (verbose > 0)
+                               {
+                                       fprintf(stdout,
+-                                              "%s: filter returned status %d to body on fd %d\n", 
++                                              "%s: filter returned status %d to body on fd %d\n",
+                                               progname, rcmd, ctx->ctx_fd);
+                               }
+-      
++
+                               ctx->ctx_state = STATE_DEAD;
+                       }
+               }
+@@ -1623,7 +1613,7 @@ mt_disconnect(lua_State *l)
+ {
+       _Bool polite = TRUE;
+       int top;
+-      
++
+       struct mt_context *ctx;
+       assert(l != NULL);
+@@ -1820,7 +1810,7 @@ mt_negotiate(lua_State *l)
+               if (verbose > 0)
+               {
+                       fprintf(stdout,
+-                              "%s: filter returned status %d to option negotiation on fd %d\n", 
++                              "%s: filter returned status %d to option negotiation on fd %d\n",
+                               progname, rcmd, ctx->ctx_fd);
+               }
+@@ -3828,7 +3818,7 @@ mt_getheader(lua_State *l)
+ /*
+ **  USAGE -- print usage message
+-** 
++**
+ **  Parameters:
+ **    Not now.  Maybe later.
+ **
+--- a/opendkim/Makefile.am
++++ b/opendkim/Makefile.am
+@@ -25,8 +25,8 @@ sbin_PROGRAMS += opendkim
+ opendkim_SOURCES = opendkim.c opendkim.h opendkim-ar.c opendkim-ar.h opendkim-arf.c opendkim-arf.h opendkim-config.h opendkim-crypto.c opendkim-crypto.h opendkim-db.c opendkim-db.h opendkim-dns.c opendkim-dns.h opendkim-lua.c opendkim-lua.h config.c config.h flowrate.c flowrate.h reputation.c reputation.h stats.c stats.h test.c test.h util.c util.h
+ opendkim_CC = $(PTHREAD_CC)
+ opendkim_CFLAGS = $(PTHREAD_CFLAGS) $(LIBCRYPTO_CFLAGS) $(COV_CFLAGS)
+-opendkim_CPPFLAGS = -I$(srcdir)/../libopendkim $(LIBCRYPTO_CPPFLAGS)
+-opendkim_LDFLAGS = $(LIBCRYPTO_LIBDIRS) $(LIBMILTER_LIBDIRS) $(PTHREAD_CFLAGS) $(COV_LDFLAGS)
++opendkim_CPPFLAGS = -I$(srcdir)/../libopendkim $(LIBCRYPTO_CPPFLAGS) $(LIBBSD_CFLAGS)
++opendkim_LDFLAGS = $(LIBCRYPTO_LIBDIRS) $(LIBMILTER_LIBDIRS) $(PTHREAD_CFLAGS) $(COV_LDFLAGS) $(LIBBSD_LIBS)
+ opendkim_LDADD = ../libopendkim/libopendkim.la $(LIBMILTER_LIBS) $(LIBCRYPTO_LIBS) $(PTHREAD_LIBS) $(COV_LIBADD) $(LIBRESOLV)
+ if USE_DB_OPENDKIM
+ opendkim_CPPFLAGS += $(LIBDB_INCDIRS)
+--- a/opendkim/config.c
++++ b/opendkim/config.c
+@@ -22,16 +22,6 @@
+ /* libopendkim includes */
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "config.h"
+@@ -304,7 +294,7 @@ config_load_level(char *file, struct con
+                                               size_t newlen;
+                                               oldlen = strlen(*deprecated);
+-                                              newlen = oldlen + 2 + 
++                                              newlen = oldlen + 2 +
+                                                        strlen(def[n].cd_name);
+                                               new = realloc(*deprecated,
+                                                             newlen);
+--- a/opendkim/flowrate.c
++++ b/opendkim/flowrate.c
+@@ -16,16 +16,6 @@
+ #include <string.h>
+ #include <stdlib.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "flowrate.h"
+ #include "opendkim.h"
+--- a/opendkim/opendkim-ar.c
++++ b/opendkim/opendkim-ar.c
+@@ -21,16 +21,6 @@
+ # include <sysexits.h>
+ #endif /* ARTEST */
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "opendkim-ar.h"
+@@ -377,7 +367,7 @@ ares_dedup(struct authres *ar, int n)
+ **    hdr -- NULL-terminated contents of an Authentication-Results:
+ **           header field
+ **    ar -- a pointer to a (struct authres) loaded by values after parsing
+-**  
++**
+ **  Return value:
+ **    0 on success, -1 on failure.
+ */
+--- a/opendkim/opendkim-db.c
++++ b/opendkim/opendkim-db.c
+@@ -36,16 +36,6 @@
+ /* libopendkim includes */
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* repute includes */
+ #ifdef _FFR_REPUTATION
+ # include <repute.h>
+@@ -854,7 +844,7 @@ dkimf_db_datasplit(char *buf, size_t buf
+ **
+ **  Notes:
+ **    Expands "$d" and "$D" as defined in opendkim.conf(5).
+-** 
++**
+ **    Should report overflows.
+ */
+@@ -1002,7 +992,7 @@ dkimf_db_list_free(struct dkimf_db_list
+               list = next;
+       }
+ }
+-              
++
+ /*
+ **  DKIMF_DB_RELIST_FREE -- destroy a linked regex list
+ **
+@@ -1312,7 +1302,7 @@ dkimf_db_open_sql(struct dkimf_db_dsn *d
+ **
+ **  Parameters:
+ **    db -- DKIMF_DB handle
+-** 
++**
+ **  Return value:
+ **    A DKIMF_DB_TYPE_* constant.
+ */
+@@ -2174,7 +2164,7 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+                       }
+                       assert(key != NULL);
+-                      
++
+                       if (value != NULL &&
+                           (new->db_flags & DKIMF_DB_FLAG_VALLIST) != 0)
+                       {
+@@ -2230,7 +2220,7 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+                                               list = newl;
+                                       else
+                                               next->db_list_next = newl;
+-      
++
+                                       next = newl;
+                                       n++;
+                               }
+@@ -2536,7 +2526,7 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+               /*
+               **  General format of a DSN:
+               **  <backend>://[user[:pwd]@][port+]host/dbase[/key=val[?...]]
+-              **  
++              **
+               **  "table", "keycol" and "datacol" will be set in one of the
+               **  key-value pairs.  "filter" is optional.
+               */
+@@ -2763,7 +2753,7 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+                               free(new);
+                               return -1;
+                       }
+-      
++
+                       new->db_iflags |= DKIMF_DB_IFLAG_RECONNECT;
+                       odbx = NULL;
+               }
+@@ -2858,10 +2848,10 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+               **  General format of an LDAP specification:
+               **  scheme://host[:port][/dn[?attrs[?scope[?filter[?exts]]]]]
+               **  (see RFC4516)
+-              **  
++              **
+               **  "bindpass", "authmech" and "usetls" will be set in
+               **  other config values.
+-              **  
++              **
+               **  Take the descriptive values (e.g. attributes) from the
+               **  first one.
+               */
+@@ -3063,7 +3053,7 @@ dkimf_db_open(DKIMF_DB *db, char *name,
+               close(fd);
+               /* try to compile it */
+-              if (dkimf_lua_db_hook(tmp, 0, NULL, &lres, 
++              if (dkimf_lua_db_hook(tmp, 0, NULL, &lres,
+                                     (void *) &lua->lua_script,
+                                     &lua->lua_scriptlen) != 0)
+               {
+@@ -3707,12 +3697,12 @@ dkimf_db_delete(DKIMF_DB db, void *buf,
+       assert(buf != NULL);
+       if (db->db_type == DKIMF_DB_TYPE_FILE ||
+-          db->db_type == DKIMF_DB_TYPE_CSL || 
+-          db->db_type == DKIMF_DB_TYPE_DSN || 
+-          db->db_type == DKIMF_DB_TYPE_LDAP || 
+-          db->db_type == DKIMF_DB_TYPE_LUA || 
+-          db->db_type == DKIMF_DB_TYPE_MEMCACHE || 
+-          db->db_type == DKIMF_DB_TYPE_REPUTE || 
++          db->db_type == DKIMF_DB_TYPE_CSL ||
++          db->db_type == DKIMF_DB_TYPE_DSN ||
++          db->db_type == DKIMF_DB_TYPE_LDAP ||
++          db->db_type == DKIMF_DB_TYPE_LUA ||
++          db->db_type == DKIMF_DB_TYPE_MEMCACHE ||
++          db->db_type == DKIMF_DB_TYPE_REPUTE ||
+           db->db_type == DKIMF_DB_TYPE_REFILE ||
+           db->db_type == DKIMF_DB_TYPE_ERLANG)
+               return EINVAL;
+@@ -3865,11 +3855,11 @@ dkimf_db_put(DKIMF_DB db, void *buf, siz
+       assert(outbuf != NULL);
+       if (db->db_type == DKIMF_DB_TYPE_FILE ||
+-          db->db_type == DKIMF_DB_TYPE_CSL || 
+-          db->db_type == DKIMF_DB_TYPE_DSN || 
+-          db->db_type == DKIMF_DB_TYPE_LDAP || 
+-          db->db_type == DKIMF_DB_TYPE_LUA || 
+-          db->db_type == DKIMF_DB_TYPE_REPUTE || 
++          db->db_type == DKIMF_DB_TYPE_CSL ||
++          db->db_type == DKIMF_DB_TYPE_DSN ||
++          db->db_type == DKIMF_DB_TYPE_LDAP ||
++          db->db_type == DKIMF_DB_TYPE_LUA ||
++          db->db_type == DKIMF_DB_TYPE_REPUTE ||
+           db->db_type == DKIMF_DB_TYPE_REFILE)
+               return EINVAL;
+@@ -5114,7 +5104,7 @@ dkimf_db_get(DKIMF_DB db, void *buf, siz
+               key = (char *) db->db_data;
+               snprintf(query, sizeof query, "%s:%s", key, (char *) buf);
+-              
++
+               out = memcached_get(mcs, query, strlen(query), &vlen,
+                                   &flags, &ret);
+@@ -5600,7 +5590,7 @@ dkimf_db_close(DKIMF_DB db)
+                               first = FALSE;
+                       }
+-                      
++
+                       (void) dkimf_db_close(ldap->ldap_cache);
+               }
+ #  endif /* USE_DB */
+@@ -5983,7 +5973,7 @@ dkimf_db_walk(DKIMF_DB db, _Bool first,
+                       (void) odbx_result_finish(result);
+                       result = NULL;
+               }
+-              
++
+               /* run a query and start results cursor if needed */
+               if (result == NULL)
+               {
+@@ -6234,7 +6224,7 @@ dkimf_db_walk(DKIMF_DB db, _Bool first,
+                       if (ldap->ldap_descr->lud_attrs[c] == NULL)
+                               noattrs = TRUE;
+-                      if (noattrs) 
++                      if (noattrs)
+                       {
+                               if ((req[c].dbdata_flags & DKIMF_DB_DATA_OPTIONAL) == 0)
+                                       status = -1;
+@@ -6439,7 +6429,7 @@ dkimf_db_walk(DKIMF_DB db, _Bool first,
+ **    db -- a DKIMF_DB handle
+ **    a -- array (returned)
+ **    base -- base array
+-** 
++**
+ **  Return value:
+ **    Length of the created array, or -1 on error/empty.
+ */
+--- a/opendkim/opendkim-spam.c
++++ b/opendkim/opendkim-spam.c
+@@ -25,16 +25,6 @@
+ # include <odbx.h>
+ #endif /* USE_ODBX */
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "config.h"
+ #include "stats.h"
+--- a/opendkim/opendkim-testkey.c
++++ b/opendkim/opendkim-testkey.c
+@@ -36,16 +36,6 @@
+ #include <dkim.h>
+ #include <dkim-test.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "opendkim-db.h"
+ #include "opendkim-dns.h"
+--- a/opendkim/opendkim.c
++++ b/opendkim/opendkim.c
+@@ -92,16 +92,6 @@
+ # include "vbr.h"
+ #endif /* _FFR_VBR */
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ #ifdef _FFR_REPUTATION
+ /* reputation includes */
+ # include <repute.h>
+@@ -803,7 +793,7 @@ pthread_mutex_t pwdb_lock;                 /* passwd/g
+ **    An sfsistat.
+ */
+-sfsistat 
++sfsistat
+ smfi_insheader(SMFICTX *ctx, int idx, char *hname, char *hvalue)
+ {
+       assert(ctx != NULL);
+@@ -1413,7 +1403,7 @@ dkimf_xs_rblcheck(lua_State *l)
+       ctx = (SMFICTX *) lua_touserdata(l, 1);
+       if (ctx != NULL)
+               cc = (struct connctx *) dkimf_getpriv(ctx);
+-              
++
+       query = lua_tostring(l, 2);
+       qroot = lua_tostring(l, 3);
+       if (lua_gettop(l) == 4)
+@@ -2715,7 +2705,7 @@ dkimf_xs_rcptcount(lua_State *l)
+       dfc = cc->cctx_msg;
+       rcnt = 0;
+-      
++
+       for (addr = dfc->mctx_rcptlist; addr != NULL; addr = addr->a_next)
+               rcnt++;
+@@ -2767,7 +2757,7 @@ dkimf_xs_rcpt(lua_State *l)
+               lua_pushstring(l, "dkimf_xs_rcpt");
+               return 1;
+       }
+-      
++
+       cc = (struct connctx *) dkimf_getpriv(ctx);
+       dfc = cc->cctx_msg;
+@@ -3090,7 +3080,7 @@ dkimf_xs_getsigarray(lua_State *l)
+       {
+               lua_pushnil(l);
+       }
+-      
++
+       return 1;
+ }
+@@ -3156,7 +3146,7 @@ dkimf_xs_getsigcount(lua_State *l)
+       {
+               lua_pushnumber(l, 1);
+       }
+-      
++
+       return 1;
+ }
+@@ -4762,7 +4752,7 @@ dkimf_securefile(const char *path, ino_t
+                       return status;
+               if (partial[1] != '\0')
+-                      strlcat(partial, "/", sizeof partial); 
++                      strlcat(partial, "/", sizeof partial);
+       }
+       return 1;
+@@ -4818,7 +4808,7 @@ dkimf_securefile(const char *path, ino_t
+               pthread_mutex_unlock(&pwdb_lock);
+       }
+-              
++
+       /* guess we're okay... */
+       *ino = s.st_ino;
+       return 1;
+@@ -6208,7 +6198,7 @@ dkimf_config_load(struct config *data, s
+               {
+                       if (strcmp(str, "HOSTNAME") == 0)
+                               conf->conf_authservid = strdup(myhostname);
+-                      else    
++                      else
+                               conf->conf_authservid = strdup(str);
+               }
+@@ -6317,7 +6307,7 @@ dkimf_config_load(struct config *data, s
+ #ifdef        _FFR_IDENTITY_HEADER
+               (void) config_get(data, "IdentityHeader",
+-                                &conf->conf_identityhdr, 
++                                &conf->conf_identityhdr,
+                                 sizeof conf->conf_identityhdr);
+               (void) config_get(data, "IdentityHeaderRemove",
+@@ -6991,7 +6981,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_peerdb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7010,7 +7000,7 @@ dkimf_config_load(struct config *data, s
+               status = dkimf_db_open(&conf->conf_testdnsdb,
+                                      conf->conf_testdnsdata,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7038,7 +7028,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_internal, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7055,7 +7045,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_internal, DEFINTERNAL,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7084,7 +7074,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_exignore, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7112,7 +7102,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_exemptdb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7134,7 +7124,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_bldb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7155,7 +7145,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_signhdrsdb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7176,7 +7166,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_remardb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7211,7 +7201,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_atpsdb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -7233,7 +7223,7 @@ dkimf_config_load(struct config *data, s
+               char *dberr = NULL;
+               status = dkimf_db_open(&conf->conf_dontsigntodb, str,
+-                                     (dbflags | 
++                                     (dbflags |
+                                       DKIMF_DB_FLAG_ICASE |
+                                       DKIMF_DB_FLAG_READONLY),
+                                      NULL, &dberr);
+@@ -8179,7 +8169,7 @@ dkimf_config_load(struct config *data, s
+                               saveerrno = errno;
+-                              syslog(LOG_ERR, "malloc(): %s", 
++                              syslog(LOG_ERR, "malloc(): %s",
+                                      strerror(errno));
+                               errno = saveerrno;
+@@ -8299,7 +8289,7 @@ dkimf_config_load(struct config *data, s
+                       char signer[BUFRSZ + 1];
+                       dbd[0].dbdata_flags = 0;
+-                      
++
+                       memset(keyname, '\0', sizeof keyname);
+                       dbd[0].dbdata_buffer = keyname;
+@@ -8324,7 +8314,7 @@ dkimf_config_load(struct config *data, s
+                               dbd[2].dbdata_buflen = sizeof keydata - 1;
+                               dbd[2].dbdata_flags = DKIMF_DB_DATA_BINARY;
+-                              if (dkimf_db_get(conf->conf_keytabledb, 
++                              if (dkimf_db_get(conf->conf_keytabledb,
+                                                keyname, strlen(keyname),
+                                                dbd, 3, &found) != 0 ||
+                                   !found ||
+@@ -8437,7 +8427,7 @@ dkimf_dns_init(DKIM_LIB *lib, struct dki
+               {
+                       if (err != NULL)
+                               *err = "failed to add resolver configuration file";
+-      
++
+                       return FALSE;
+               }
+       }
+@@ -9247,7 +9237,7 @@ dkimf_cleanup(SMFICTX *ctx)
+                       while (cur != NULL)
+                       {
+                               next = cur->se_next;
+-      
++
+                               free(cur);
+                               cur = next;
+@@ -10261,7 +10251,7 @@ dkimf_sigreport(connctx cc, struct dkimf
+                               syslog(LOG_ERR, "%s: fdopen(): %s",
+                                      dfc->mctx_jobid, strerror(errno));
+                       }
+-      
++
+                       close(fd);
+                       return;
+               }
+@@ -10276,7 +10266,7 @@ dkimf_sigreport(connctx cc, struct dkimf
+                               syslog(LOG_ERR, "%s: popen(): %s",
+                                      dfc->mctx_jobid, strerror(errno));
+                       }
+-      
++
+                       return;
+               }
+       }
+@@ -11362,7 +11352,7 @@ mlfi_header(SMFICTX *ctx, char *headerf,
+               **  feed to the canonicalization algorithms the headers
+               **  exactly as the MTA will modify them, so verification
+               **  should still work.
+-              **  
++              **
+               **  This is based on experimentation and on reading
+               **  sendmail/headers.c, and may require more tweaking before
+               **  it's precisely right.  There are other munges the
+@@ -11433,7 +11423,7 @@ mlfi_header(SMFICTX *ctx, char *headerf,
+                       return SMFIS_TEMPFAIL;
+               }
+-      
++
+               for (rep = conf->conf_replist;
+                    rep != NULL;
+                    rep = rep->repl_next)
+@@ -11629,7 +11619,7 @@ mlfi_eoh(SMFICTX *ctx)
+               if (from == NULL && !didfrom)
+                       from = dkimf_findheader(dfc, "from", 0);
+       }
+-  
++
+       if (from != NULL)
+               dkimf_dstring_copy(addr, from->hdr_val);
+@@ -12140,7 +12130,7 @@ mlfi_eoh(SMFICTX *ctx)
+       /* still no key selected; check the signing table (if any) */
+       if (originok && dfc->mctx_srhead == NULL &&
+-          (user != NULL && dfc->mctx_domain[0] != '\0') && 
++          (user != NULL && dfc->mctx_domain[0] != '\0') &&
+ #ifdef _FFR_LUA_ONLY_SIGNING
+           !conf->conf_luasigning &&
+ #endif /* _FFR_LUA_ONLY_SIGNING */
+@@ -12299,7 +12289,7 @@ mlfi_eoh(SMFICTX *ctx)
+       */
+       /* signing requests with signing mode disabled */
+-      if (dfc->mctx_srhead != NULL && 
++      if (dfc->mctx_srhead != NULL &&
+           (conf->conf_mode & DKIMF_MODE_SIGNER) == 0)
+               return SMFIS_ACCEPT;
+@@ -12619,7 +12609,7 @@ mlfi_eoh(SMFICTX *ctx)
+                                       idset = TRUE;
+                               }
+                       }
+-              
++
+                       if (!idset && conf->conf_dolog)
+                       {
+                               syslog(LOG_INFO,
+@@ -12629,7 +12619,7 @@ mlfi_eoh(SMFICTX *ctx)
+                       }
+               }
+ #endif /* _FFR_IDENTITY_HEADER */
+-                              
++
+               if (!idset)
+               {
+                       snprintf((char *) identity, sizeof identity, "@%s",
+@@ -12803,7 +12793,7 @@ mlfi_eoh(SMFICTX *ctx)
+                       /* set the VBR transaction type */
+                       (void) vbr_settype(dfc->mctx_vbr, (u_char *) vbr_type);
+-      
++
+                       /* set the VBR certifier list */
+                       (void) vbr_setcert(dfc->mctx_vbr, (u_char *) vbr_cert);
+@@ -12915,7 +12905,7 @@ mlfi_eoh(SMFICTX *ctx)
+ #ifdef _FFR_IDENTITY_HEADER
+               if (conf->conf_identityhdr != NULL &&
+-                  conf->conf_rmidentityhdr && 
++                  conf->conf_rmidentityhdr &&
+                   dfc->mctx_srhead != NULL &&
+                   strcasecmp(conf->conf_identityhdr, hdr->hdr_hdr) == 0)
+                       continue;
+@@ -12942,7 +12932,7 @@ mlfi_eoh(SMFICTX *ctx)
+ #ifdef _FFR_REPUTATION
+               /* check for spam flag */
+               if (conf->conf_repspamcheck != NULL &&
+-                  regexec(&conf->conf_repspamre, 
++                  regexec(&conf->conf_repspamre,
+                           dkimf_dstring_get(dfc->mctx_tmpstr),
+                           0, NULL, 0) == 0)
+                       dfc->mctx_spam = TRUE;
+@@ -13340,7 +13330,7 @@ mlfi_eom(SMFICTX *ctx)
+           dfc->mctx_srhead != NULL)
+       {
+               struct Header *hdr;
+-              
++
+               hdr = dkimf_findheader(dfc, conf->conf_identityhdr, 0);
+               if (hdr != NULL)
+               {
+@@ -13357,7 +13347,7 @@ mlfi_eom(SMFICTX *ctx)
+               }
+       }
+ #endif /* _FFR_IDENTITY_HEADER */
+-                                      
++
+       /* log something if the message was multiply signed */
+       if (dfc->mctx_dkimv != NULL && conf->conf_dolog)
+       {
+@@ -13482,7 +13472,7 @@ mlfi_eom(SMFICTX *ctx)
+                               slash = strchr((char *) ares->ares_host, '/');
+                               if (slash != NULL)
+                                       *slash = '\0';
+-                                      
++
+                               if (conf->conf_remardb != NULL)
+                               {
+                                       status = dkimf_db_get(conf->conf_remardb,
+@@ -13790,7 +13780,7 @@ mlfi_eom(SMFICTX *ctx)
+                                       fclose(f);
+                               }
+                       }
+-              }       
++              }
+               if (dfc->mctx_status == DKIMF_STATUS_GOOD)
+               {
+@@ -14576,7 +14566,7 @@ mlfi_eom(SMFICTX *ctx)
+                               vbr_certifier = NULL;
+                               vbr_vouchers = NULL;
+                               vbr_type = NULL;
+-      
++
+                               /* break out the VBR-Info header contents */
+                               strlcpy(tmp, vbr_header->hdr_val, sizeof tmp);
+                               for (p = strtok_r(tmp, ";", &sctx);
+@@ -14624,7 +14614,7 @@ mlfi_eom(SMFICTX *ctx)
+                                               vbr_vouchers = (char *) value;
+                                       }
+                               }
+-                      
++
+                               /* confirm a valid signature was there */
+                               if (dfc->mctx_dkimv != NULL &&
+                                   dkim_getsiglist(dfc->mctx_dkimv,
+@@ -14646,7 +14636,7 @@ mlfi_eom(SMFICTX *ctx)
+                                               }
+                                       }
+                               }
+-                              
++
+                               if (vbr_validsig)
+                               {
+                                       /* use accessors to set parsed values */
+@@ -14656,7 +14646,7 @@ mlfi_eom(SMFICTX *ctx)
+                                                   (u_char *) vbr_type);
+                                       vbr_setdomain(dfc->mctx_vbr,
+                                                     (u_char *) vbr_domain);
+-              
++
+                                       /* attempt the query */
+                                       vbr_status = vbr_query(dfc->mctx_vbr,
+                                                              (u_char **) &vbr_result,
+@@ -14739,7 +14729,7 @@ mlfi_eom(SMFICTX *ctx)
+                                                       vbr_certifier,
+                                                       sizeof header);
+                                       }
+-              
++
+                                       if (dkimf_insheader(ctx, 1,
+                                                           AUTHRESULTSHDR,
+                                                           (char *) header) == MI_FAILURE)
+@@ -15827,7 +15817,7 @@ main(int argc, char **argv)
+                                       progname, query);
+                               return EX_USAGE;
+                       }
+-      
++
+                       result = (char **) malloc(sizeof(char *) * n);
+                       if (result == NULL)
+                       {
+--- a/opendkim/reputation.c
++++ b/opendkim/reputation.c
+@@ -21,16 +21,6 @@
+ /* libopendkim includes */
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "reputation.h"
+ #include "opendkim.h"
+@@ -223,7 +213,7 @@ dkimf_rep_check(DKIMF_REP rep, DKIM_SIGI
+       if (rep->rep_lastflush + rep->rep_ttl < now)
+       {
+               f = TRUE;
+-              
++
+               req[0].dbdata_buffer = (void *) &when;
+               req[0].dbdata_buflen = sizeof when;
+               req[0].dbdata_flags = DKIMF_DB_DATA_BINARY;
+@@ -341,7 +331,7 @@ dkimf_rep_check(DKIMF_REP rep, DKIM_SIGI
+                       strlcpy(domain, DKIMF_REP_LOWTIME, sizeof domain);
+                       dlen = strlen(domain);
+               }
+-              
++
+               f = FALSE;
+               /* get the total message limit */
+--- a/opendkim/stats.c
++++ b/opendkim/stats.c
+@@ -40,16 +40,6 @@
+ /* libopendkim includes */
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "stats.h"
+ #include "util.h"
+--- a/opendkim/test.c
++++ b/opendkim/test.c
+@@ -21,16 +21,6 @@
+ #include "build-config.h"
+ #include <dkim.h>
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* libmilter includes */
+ #include <libmilter/mfapi.h>
+@@ -712,7 +702,7 @@ dkimf_testfile(DKIM_LIB *libopendkim, st
+ #ifdef USE_UNBOUND
+                                       char *dnssec;
+                                       int dnsseccode = DKIM_DNSSEC_UNKNOWN;
+-                              
++
+                                       dnsseccode = dkim_sig_getdnssec(sig);
+                                       switch (dnsseccode)
+--- a/opendkim/util.c
++++ b/opendkim/util.c
+@@ -46,16 +46,6 @@
+ # endif /* SOLARIS <= 20600 */
+ #endif /* SOLARIS */
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* opendkim includes */
+ #include "opendkim.h"
+ #include "util.h"
+@@ -217,7 +207,7 @@ static unsigned char alphabet[64] = "ABC
+ /*
+ **  DKIMF_ISBLANK -- return TRUE iff a string contains only whitespace
+-**  
++**
+ **  Parameters:
+ **    str -- string to check
+ **
+--- a/reprrd/reprrd.c
++++ b/reprrd/reprrd.c
+@@ -22,11 +22,6 @@
+ /* libreprrd includes */
+ #include "reprrd.h"
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* data types */
+ struct reprrd_handle
+ {
+@@ -250,7 +245,7 @@ reprrd_query(REPRRD r, const char *domai
+               end = now;
+               start = last_update - 1;
+               step = REPRRD_STEP;
+-      
++
+               reprrd_mkpath(path, sizeof path, r, domain,
+                             REPRRD_TYPE_MESSAGES);
+@@ -287,7 +282,7 @@ reprrd_query(REPRRD r, const char *domai
+               end = now;
+               start = last_update - 1;
+               step = REPRRD_STEP;
+-      
++
+               rrd_clear_error();
+               status = rrd_fetch_r(path, REPRRD_CF_AVERAGE, &start, &end,
+                                    &step, &ds_cnt, &ds_names, &data);
+@@ -324,7 +319,7 @@ reprrd_query(REPRRD r, const char *domai
+               end = now;
+               start = last_update - 1;
+               step = REPRRD_STEP;
+-      
++
+               reprrd_mkpath(path, sizeof path, r, domain, REPRRD_TYPE_SPAM);
+               rrd_clear_error();
+@@ -407,7 +402,7 @@ reprrd_query(REPRRD r, const char *domai
+               end = now;
+               start = now - REPRRD_STEP * REPRRD_BACKSTEPS;
+               step = REPRRD_STEP;
+-      
++
+               rrd_clear_error();
+               status = rrd_fetch_r(path, REPRRD_CF_FAILURES, &start, &end,
+                                    &step, &ds_cnt, &ds_names, &data);
+--- a/stats/Makefile.am
++++ b/stats/Makefile.am
+@@ -14,9 +14,9 @@ if USE_ODBX
+ sbin_PROGRAMS = opendkim-importstats
+ opendkim_importstats_SOURCES = opendkim-importstats.c
+-opendkim_importstats_CPPFLAGS = $(LIBODBX_CPPFLAGS) -I$(srcdir)/../libopendkim -I$(srcdir)/../opendkim
++opendkim_importstats_CPPFLAGS = $(LIBODBX_CPPFLAGS) -I$(srcdir)/../libopendkim -I$(srcdir)/../opendkim $(LIBBSD_CFLAGS)
+ opendkim_importstats_CFLAGS = $(LIBODBX_CFLAGS) $(COV_CFLAGS)
+-opendkim_importstats_LDFLAGS = $(LIBODBX_LDFLAGS) $(COV_LDFLAGS)
++opendkim_importstats_LDFLAGS = $(LIBODBX_LDFLAGS) $(COV_LDFLAGS) $(LIBBSD_LIBS)
+ opendkim_importstats_LDADD = $(LIBODBX_LIBS) $(LIBDL_LIBS) $(COV_LIBADD)
+ man_MANS += opendkim-importstats.8
+--- a/stats/opendkim-importstats.c
++++ b/stats/opendkim-importstats.c
+@@ -23,16 +23,6 @@
+ /* OpenDKIM includes */
+ #include "stats.h"
+-/* libbsd if found */
+-#ifdef USE_BSD_H
+-# include <bsd/string.h>
+-#endif /* USE_BSD_H */
+-
+-/* libstrl if needed */
+-#ifdef USE_STRL_H
+-# include <strl.h>
+-#endif /* USE_STRL_H */
+-
+ /* libodbx includes */
+ #ifdef USE_ODBX
+ # include <odbx.h>
diff --git a/mail/opendkim/patches/020-uclibc.patch b/mail/opendkim/patches/020-uclibc.patch
deleted file mode 100644 (file)
index 34da7f4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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, unsi
-       *qh = (void *) rq;
-       return DKIM_DNS_SUCCESS;
-+#endif // __UCLIBC__
- }
- /*
diff --git a/multimedia/gphoto2/patches/001-automake-compat.patch b/multimedia/gphoto2/patches/001-automake-compat.patch
new file mode 100644 (file)
index 0000000..ea9f5dd
--- /dev/null
@@ -0,0 +1,66 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = gphoto-m4 contrib doc gphoto2 packaging po tests
++SUBDIRS = gphoto-m4 contrib doc gphoto2 packaging tests
+ ACLOCAL_AMFLAGS = -I auto-m4 -I gphoto-m4
+ EXTRA_DIST = README.md
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,11 +46,8 @@ dnl i18n support
+ dnl ---------------------------------------------------------------------------
+ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
+ ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
+-AM_PO_SUBDIRS()
+ AM_GNU_GETTEXT_VERSION([0.14.1])
+-AM_GNU_GETTEXT([external])
+ AM_ICONV()
+-GP_GETTEXT_FLAGS()
+ dnl We cannot use AC_DEFINE_UNQUOTED() for these definitions, as
+ dnl we require make to do insert the proper $(datadir) value
+@@ -80,7 +77,7 @@ AC_CHECK_LIB(m,floor)
+ dnl ---------------------------------------------------------------------------
+-dnl pthread: The gphoto2 shell (--shell) keeps up a connection to the 
++dnl pthread: The gphoto2 shell (--shell) keeps up a connection to the
+ dnl          camera. Some cameras need to be sent keep-alive-messages
+ dnl          in order to prevent a shut-down. This is what we need
+ dnl          pthread for.
+@@ -97,7 +94,7 @@ if $try_pthread; then
+                     AC_DEFINE(HAVE_PTHREAD,1,[Define if we use pthread.h.])
+                     pthread_msg="yes (-lpthread)"
+                     PTHREAD_LIBS="-lpthread"],[
+-                    AC_CHECK_LIB(c_r, pthread_create, [ 
++                    AC_CHECK_LIB(c_r, pthread_create, [
+                         AC_DEFINE(HAVE_PTHREAD,1,[Define if we use pthread.h.])
+                         pthread_msg="yes (-pthread)"
+                         PTHREAD_LIBS="-pthread"
+@@ -267,7 +264,7 @@ GP_CONFIG_MSG([JPEG support],[$jpeg_msg]
+ dnl ---------------------------------------------------------------------------
+ dnl libexif: The CameraFilesystem can use libexif for extracting thumbnails
+ dnl          out of EXIF data. Similarly, it can extract the mtime of
+-dnl          a file. 
++dnl          a file.
+ dnl          libexif is available from
+ dnl          http://www.sourceforge.net/projects/libexif
+ dnl ---------------------------------------------------------------------------
+@@ -327,7 +324,7 @@ AC_MSG_ERROR([pkg-config could not find
+ dnl ---------------------------------------------------------------------------
+ dnl readline: Readline is pretty cool - it allows you to use <tab> to complete
+-dnl           commands in the gphoto2 shell or to use <up> or <down> to 
++dnl           commands in the gphoto2 shell or to use <up> or <down> to
+ dnl           navigate through the history.
+ dnl ---------------------------------------------------------------------------
+ rl_msg="no (http://cnswww.cns.cwru.edu/~chet/readline/rltop.html)"
+@@ -396,7 +393,6 @@ AC_SUBST([AM_LDFLAGS])
+ # Create output files
+ # ---------------------------------------------------------------------------
+ AC_CONFIG_FILES([
+-po/Makefile.in 
+ Makefile
+ gphoto2/Makefile
+ gphoto-m4/Makefile
index 7d7932573209c506b4057be31d879593af7c4a3e..a5dfd34aef105b592592d455fb68d35be8eb6059 100644 (file)
@@ -8,14 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=atlas-probe
-PKG_VERSION:=2.4.1
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=1
 
-PKG_SOURCE:=ripe-atlas-probe-busybox-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-probe-busybox/archive/v$(PKG_VERSION)
-PKG_HASH:=e684bf617cdc502c20f97028726a93a4a0d21ad9f618b50eb07f999f1604ae65
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/ripe-atlas-probe-busybox-$(PKG_VERSION)
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=2.6.3
+PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-probe-busybox
+PKG_MIRROR_HASH:=f53a2b29fedc2b6a44880b6f75b433e7cc0a51d6dc643bff86539f78b5aa653e
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/net/atlas-probe/patches/002-Avoid-problems-with-64-bit-time_t.patch b/net/atlas-probe/patches/002-Avoid-problems-with-64-bit-time_t.patch
deleted file mode 100644 (file)
index 9b2e131..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From 46da4c4e090e0412cee0777f1e8b219964781da7 Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cotequeiroz@gmail.com>
-Date: Fri, 8 Oct 2021 14:39:52 -0300
-Subject: [PATCH] Avoid problems with 64-bit time_t
-
-The clock_gettime() calls are being handled by calling
-syscall(__NR_clock_gettime, ...), which is not portable between systems
-using 32-bit and 64-bit time_t.  This is being done to avoid having to
-link agains librt.
-
-So, use the standard function, and add a test to see if we can compile
-a test without the library, including it otherwise.
-
-Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
----
- Makefile.flags   | 6 ++++++
- coreutils/date.c | 6 ++----
- libbb/time.c     | 2 +-
- 3 files changed, 9 insertions(+), 5 deletions(-)
-
---- a/Makefile.flags
-+++ b/Makefile.flags
-@@ -124,6 +124,12 @@ CFLAGS += --sysroot=$(CONFIG_SYSROOT)
- export SYSROOT=$(CONFIG_SYSROOT)
- endif
-+# glibc versions before 2.17 need to link with -rt to use clock_gettime
-+RT_NEEDED := $(shell echo 'int main(void){struct timespec tp; return clock_gettime(CLOCK_MONOTONIC, &tp);}' >rttest.c; $(CC) $(CFLAGS) -include time.h -o /dev/null rttest.c >/dev/null 2>&1 || echo "y"; rm rttest.c)
-+ifeq ($(RT_NEEDED),y)
-+LDLIBS += rt
-+endif
-+
- # Android has no separate crypt library
- # gcc-4.2.1 fails if we try to feed C source on stdin:
- #  echo 'int main(void){return 0;}' | $(CC) $(CFLAGS) -lcrypt -o /dev/null -xc -
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -37,7 +37,7 @@
- //config:config FEATURE_DATE_NANO
- //config:     bool "Support %[num]N nanosecond format specifier"
- //config:     default n
--//config:     depends on DATE  # syscall(__NR_clock_gettime)
-+//config:     depends on DATE  # clock_gettime()
- //config:     select PLATFORM_LINUX
- //config:     help
- //config:       Support %[num]N format specifier. Adds ~250 bytes of code.
-@@ -265,9 +265,7 @@ int date_main(int argc UNUSED_PARAM, cha
- #endif
-       } else {
- #if ENABLE_FEATURE_DATE_NANO
--              /* libc has incredibly messy way of doing this,
--               * typically requiring -lrt. We just skip all this mess */
--              syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
-+              clock_gettime(CLOCK_REALTIME, &ts);
- #else
-               time(&ts.tv_sec);
- #endif
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -243,7 +243,7 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(
-  * typically requiring -lrt. We just skip all this mess */
- static void get_mono(struct timespec *ts)
- {
--      if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
-+      if (clock_gettime(CLOCK_MONOTONIC, ts))
-               bb_error_msg_and_die("clock_gettime(MONOTONIC) failed");
- }
- unsigned long long FAST_FUNC monotonic_ns(void)
diff --git a/net/atlas-probe/patches/003-Fix-SIGSEGV-caused-by-time_t-casted-to-long-on-32bit.patch b/net/atlas-probe/patches/003-Fix-SIGSEGV-caused-by-time_t-casted-to-long-on-32bit.patch
deleted file mode 100644 (file)
index 5dbc56d..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-From 899efc5206d5985d0ae65500a1c0542ec2d58e58 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Mon, 17 Oct 2022 18:44:30 +0200
-Subject: [PATCH 1/4] Fix SIGSEGV caused by time_t casted to long on 32bit
- systems
-
-32bit systems have time_t set to long long int while 64bit system have
-time_t set to long int. This is problematic as in the busybox code this
-is not handled correctly and we have some casted to long and some not
-casted at all.
-
-Some arch (found this problem on a mt7621) may be restrictive about casting
-and crash with segmentation fault if time_t is cast to %ld instead of the
-correct %lld.
-
-This is the cause of https://github.com/RIPE-NCC/ripe-atlas-software-probe/issues/74
-
-Use the correct type and cast every time_t to (unsigned long long) so that
-eperd and condmv doesn't crash anymore and the measurement works correctly.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- coreutils/condmv.c    |  3 ++-
- eperd/condmv.c        |  7 ++++---
- eperd/evtdig.c        | 12 ++++++------
- eperd/httpget.c       |  8 ++++----
- eperd/ntp.c           |  4 ++--
- eperd/sslgetcert.c    |  8 ++++----
- eperd/traceroute.c    |  8 ++++----
- miscutils/perd.c      |  4 ++--
- networking/httppost.c | 30 +++++++++++++++---------------
- networking/rptaddrs.c |  2 +-
- 10 files changed, 44 insertions(+), 42 deletions(-)
-
---- a/coreutils/condmv.c
-+++ b/coreutils/condmv.c
-@@ -149,7 +149,8 @@ int condmv_main(int argc, char *argv[])
-                               rebased_from, strerror(errno));
-                       goto err;
-               }
--              if (fprintf(file, "%s %lu %s\n", opt_add, mytime, from) < 0)
-+              if (fprintf(file, "%s %llu %s\n", opt_add,
-+                      (unsigned long long)mytime, from) < 0)
-               {
-                       fprintf(stderr,
-                               "condmv: unable to append to '%s': %s\n",
---- a/eperd/condmv.c
-+++ b/eperd/condmv.c
-@@ -99,8 +99,8 @@ static void condmv_start(void *state)
-       len= strlen(condmvstate->to) + 20;
-       to= malloc(len);
--      snprintf(to, len, "%s.%ld", condmvstate->to,
--              (long)time(NULL)/condmvstate->interval);
-+      snprintf(to, len, "%s.%llu", condmvstate->to,
-+              (unsigned long long)time(NULL)/condmvstate->interval);
-       crondlog(LVL7 "condmv_start: destination '%s'\n", to);
-@@ -124,7 +124,8 @@ static void condmv_start(void *state)
-                       free(to);
-                       return;
-               }
--              if (fprintf(file, "%s %lu %s\n", condmvstate->atlas, mytime,
-+              if (fprintf(file, "%s %llu %s\n", condmvstate->atlas,
-+                      (unsigned long long)mytime,
-                       condmvstate->from) < 0)
-               {
-                       crondlog(LVL9 "condmv: unable to append to '%s': %s\n",
---- a/eperd/evtdig.c
-+++ b/eperd/evtdig.c
-@@ -1009,7 +1009,7 @@ static int mk_dns_buff(struct query_stat
-               lookup_prepend = xzalloc(DEFAULT_LINE_LENGTH +  sizeof(qry->lookupname));
-               snprintf(lookup_prepend, (sizeof(qry->lookupname) +
-                       DEFAULT_LINE_LENGTH - 1),
--                       "%d.%lu.%s", probe_id, qry->xmit_time,
-+                       "%d.%llu.%s", probe_id, (unsigned long long)qry->xmit_time,
-                       qry->lookupname);
-               qnamelen= ChangetoDnsNameFormat(qname, qnamelen,
-@@ -3081,7 +3081,7 @@ static void tdig_stats(int unusg_statsed
-       AS(atlas_get_version_json_str());
-       AS(", ");
-       gettimeofday(&now, NULL);
--      JS1(time, %ld,  now.tv_sec);
-+      JS1(time, %llu,  (unsigned long long)now.tv_sec);
-       JU(sok , base->sentok);
-       JU(rok , base->recvok);
-       JU(sent , base->sentbytes);
-@@ -3395,7 +3395,7 @@ void printErrorQuick (struct query_state
-       fprintf(fh, "RESULT { ");
-       fprintf(fh, "%s,", atlas_get_version_json_str());
-       fprintf(fh, "\"id\" : 9202 ,");
--      fprintf(fh, "\"time\" : %ld ,",  atlas_time());
-+      fprintf(fh, "\"time\" : %llu ,",  (unsigned long long)atlas_time());
-       fprintf(fh, "\"error\" : [{ ");
-       fprintf(fh, "\"query busy\": \"not starting a new one. previous one is not done yet\"}");
-@@ -3405,7 +3405,7 @@ void printErrorQuick (struct query_state
-               fprintf(fh, "\"id\" : \"%s\"",  qry->str_Atlas);
-               if (qry->str_bundle)
-                       fprintf(fh, ",\"bundle\" : %s",  qry->str_bundle);
--              fprintf(fh, ",\"start time\" : %ld",  qry->xmit_time);
-+              fprintf(fh, ",\"start time\" : %llu",  (unsigned long long)qry->xmit_time);
-               if(qry->retry) {
-                       fprintf(fh, ",\"retry\": %d",  qry->retry);
-                       
-@@ -3456,7 +3456,7 @@ void printReply(struct query_state *qry,
-               AS(atlas_get_version_json_str());
-               AS(", ");
-               if (qry->opt_rset){
--                      JS1(time, %ld,  qry->xmit_time);
-+                      JS1(time, %llu,  (unsigned long long)qry->xmit_time);
-                       JD(lts,lts);
-                       AS("\"resultset\" : [ {");
-               }
-@@ -3466,7 +3466,7 @@ void printReply(struct query_state *qry,
-               AS (",{");
-       }
--      JS1(time, %ld,  qry->xmit_time);
-+      JS1(time, %llu,  (unsigned long long)qry->xmit_time);
-       JD(lts,lts);
-       if (qry->opt_do_tls && ssl_version != NULL)
---- a/eperd/httpget.c
-+++ b/eperd/httpget.c
-@@ -853,10 +853,10 @@ static void report(struct hgstate *state
-                       fprintf(fh, DBQ(id) ":" DBQ(%s) ", "
-                               "%s, "
-                               DBQ(lts) ":%d, "
--                              DBQ(time) ":%ld, ",
-+                              DBQ(time) ":%llu, ",
-                               state->atlas, atlas_get_version_json_str(),
-                               get_timesync(),
--                              state->gstart);
-+                              (unsigned long long)state->gstart);
-                       if (state->bundle)
-                       {
-                               fprintf(fh, DBQ(bundle) ":%s, ",
-@@ -876,8 +876,8 @@ static void report(struct hgstate *state
-       {
-               if (state->do_combine)
-               {
--                      snprintf(line, sizeof(line), DBQ(time) ":%ld, ",
--                              state->start.tv_sec);
-+                      snprintf(line, sizeof(line), DBQ(time) ":%llu, ",
-+                              (unsigned long long)state->start.tv_sec);
-               }
-               else
-               {
---- a/eperd/ntp.c
-+++ b/eperd/ntp.c
-@@ -366,10 +366,10 @@ static void report(struct ntpstate *stat
-               fprintf(fh, DBQ(id) ":" DBQ(%s)
-                       ", %s"
-                       ", " DBQ(lts) ":%d"
--                      ", " DBQ(time) ":%ld, ",
-+                      ", " DBQ(time) ":%llu, ",
-                       state->atlas, atlas_get_version_json_str(),
-                       get_timesync(),
--                      state->starttime);
-+                      (unsigned long long)state->starttime);
-               if (state->bundle)
-                       fprintf(fh, DBQ(bundle) ":%s, ", state->bundle);
-       }
---- a/eperd/sslgetcert.c
-+++ b/eperd/sslgetcert.c
-@@ -1026,9 +1026,9 @@ static void report(struct state *state)
-               fprintf(fh, DBQ(id) ":" DBQ(%s) ", "
-                       "%s, "
-                       DBQ(lts) ":%d, "
--                      DBQ(time) ":%ld, ",
-+                      DBQ(time) ":%llu, ",
-                       state->atlas, atlas_get_version_json_str(),
--                      get_timesync(), state->gstart);
-+                      get_timesync(), (unsigned long long)state->gstart);
-               if (state->bundle)
-                       fprintf(fh, DBQ(bundle) ":%s, ", state->bundle);
-       }
-@@ -1185,8 +1185,8 @@ static FILE *report_head(struct state *s
-                       fprintf(fh, DBQ(bundle) ":%s, ", state->bundle);
-       }
--      fprintf(fh, "%s" DBQ(time) ":%ld",
--              state->atlas ? ", " : "", atlas_time());
-+      fprintf(fh, "%s" DBQ(time) ":%llu",
-+              state->atlas ? ", " : "", (unsigned long long)atlas_time());
-       fprintf(fh, ", " DBQ(dst_name) ":" DBQ(%s) ", "
-               DBQ(dst_port) ":" DBQ(%s),
-               state->hostname, state->portname);
---- a/eperd/traceroute.c
-+++ b/eperd/traceroute.c
-@@ -362,12 +362,12 @@ static void report(struct trtstate *stat
-               fprintf(fh, DBQ(id) ":" DBQ(%s)
-                       ", %s"
-                       ", " DBQ(lts) ":%d"
--                      ", " DBQ(time) ":%ld"
--                      ", " DBQ(endtime) ":%ld, ",
-+                      ", " DBQ(time) ":%llu"
-+                      ", " DBQ(endtime) ":%llu, ",
-                       state->atlas, atlas_get_version_json_str(),
-                       get_timesync(),
--                      state->starttime,
--                      (long)atlas_time());
-+                      (unsigned long long)state->starttime,
-+                      (unsigned long long)atlas_time());
-               if (state->bundle_id)
-                       fprintf(fh, DBQ(bundle) ":%s, ", state->bundle_id);
-       }
---- a/miscutils/perd.c
-+++ b/miscutils/perd.c
-@@ -1197,8 +1197,8 @@ error:
-               fprintf(fn, "RESULT { ");
-               if (atlas_id)
-                       fprintf(fn, DBQ(id) ":" DBQ(%s) ", ", atlas_id);
--              fprintf(fn, "%s, " DBQ(time) ":%d, ",
--                      atlas_get_version_json_str(), time(NULL));
-+              fprintf(fn, "%s, " DBQ(time) ":%llu, ",
-+                      atlas_get_version_json_str(), (unsigned long long)time(NULL));
-               if (reason != NULL)
-                       fprintf(fn, DBQ(reason) ":" DBQ(%s) ", ", reason);
-               fprintf(fn, DBQ(err) ":%d, " DBQ(cmd) ": \"", r);
---- a/networking/httppost.c
-+++ b/networking/httppost.c
-@@ -492,32 +492,32 @@ int httppost_main(int argc, char *argv[]
-               if (need_set_time && getenv("HTTPPOST_ALLOW_STIME"))
-               {
-                       fprintf(stderr,
--                              "setting time, time difference is %ld\n",
--                              (long)server_time-now.tv_sec);
-+                              "setting time, time difference is %llu\n",
-+                              (unsigned long long)server_time-now.tv_sec);
-                       ts.tv_sec= server_time;
-                       ts.tv_nsec= 0;
-                       clock_settime(CLOCK_REALTIME, &ts);
-                       if (atlas_id)
-                       {
-                               printf(
--      "RESULT %s ongoing %ld httppost setting time, local %ld, remote %ld\n",
--                                      atlas_id, (long)time(NULL),
--                                      (long)now.tv_sec,
--                                      (long)server_time);
-+      "RESULT %s ongoing %llu httppost setting time, local %llu, remote %llu\n",
-+                                      atlas_id, (unsigned long long)time(NULL),
-+                                      (unsigned long long)now.tv_sec,
-+                                      (unsigned long long)server_time);
-                       }
-               }
-               else if (need_set_time)
-               {
-                       fprintf(stderr,
--                              "not setting time, time difference is %ld\n",
--                              (long)server_time-now.tv_sec);
-+                              "not setting time, time difference is %llu\n",
-+                              (unsigned long long)server_time-now.tv_sec);
-                       if (atlas_id)
-                       {
-                               printf(
--      "RESULT %s ongoing %ld httppost not in sync, local %ld, remote %ld\n",
--                                      atlas_id, (long)time(NULL),
--                                      (long)now.tv_sec,
--                                      (long)server_time);
-+      "RESULT %s ongoing %llu httppost not in sync, local %llu, remote %llu\n",
-+                                      atlas_id, (unsigned long long)time(NULL),
-+                                      (unsigned long long)now.tv_sec,
-+                                      (unsigned long long)server_time);
-                       }
-               }
-               else if (rtt <= 1)
-@@ -528,7 +528,7 @@ int httppost_main(int argc, char *argv[]
-                       fh= fopen(fn_new, "wt");
-                       if (fh)
-                       {
--                              fprintf(fh, "%ld\n", (long)now.tv_sec);
-+                              fprintf(fh, "%llu\n", (unsigned long long)now.tv_sec);
-                               fclose(fh);
-                               rename(fn_new, fn);
-                       }
-@@ -537,8 +537,8 @@ int httppost_main(int argc, char *argv[]
-               }
-               else if (atlas_id)
-               {
--                      printf("RESULT %s ongoing %ld httppost rtt %g ms\n",
--                              atlas_id, (long)time(NULL), rtt*1000);
-+                      printf("RESULT %s ongoing %llu httppost rtt %g ms\n",
-+                              atlas_id, (unsigned long long)time(NULL), rtt*1000);
-               }
-       }
---- a/networking/rptaddrs.c
-+++ b/networking/rptaddrs.c
-@@ -802,7 +802,7 @@ static int rpt_ipv6(char *cache_name, ch
-               JS(id,  opt_atlas);
-       }
-       gettimeofday(&now, NULL);
--      JS1(time, %ld,  now.tv_sec);
-+      JS1(time, %llu,  (unsigned long long)now.tv_sec);
-       /* Copy all lines */
-       while (fgets(buf, sizeof(buf), file) != NULL)
diff --git a/net/atlas-probe/patches/005-Mute-some-no-previous-prototype-compilation-warning.patch b/net/atlas-probe/patches/005-Mute-some-no-previous-prototype-compilation-warning.patch
deleted file mode 100644 (file)
index 3a1d764..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 25f131be221c5b2f8cb4f0c2a32f522415bb3bbf Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Mon, 17 Oct 2022 20:15:30 +0200
-Subject: [PATCH] Mute some no previous prototype compilation warning
-
-Mute some no previous prototype compilation warning found in
-atlas_unsafe, rxtxrpt_main and route_set_flags.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- include/libbb.h         | 2 ++
- libbb/route_set_flags.c | 2 ++
- 2 files changed, 4 insertions(+)
-
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -463,6 +463,7 @@ char *is_suffixed_with(const char *strin
- #define ATLAS_TIMESYNC_FILE_REL    ATLAS_DATA_NEW_REL "/timesync.vol"
- #define ATLAS_FUZZING_REL          "data"
-+extern int atlas_unsafe(void);
- extern char *rebased_validated_filename(const char *path, const char *prefix);
- extern char *rebased_validated_dir(const char *path, const char *prefix);
- extern int validate_atlas_id(const char *atlas_id);
-@@ -484,6 +485,7 @@ extern void read_response(int fd, int ty
- extern void read_response_file(FILE *file, int type, size_t *sizep,
-       void *data);
- extern void write_response(FILE *file, int type, size_t size, void *data);
-+extern int rxtxrpt_main(int argc, char *argv[]);
- int ndelay_on(int fd) FAST_FUNC;
- int ndelay_off(int fd) FAST_FUNC;
---- a/libbb/route_set_flags.c
-+++ b/libbb/route_set_flags.c
-@@ -1,6 +1,8 @@
- #include <platform.h>
- #include <net/route.h>
-+#include "libbb.h"
-+
- static const
- IF_NOT_FEATURE_IPV6(uint16_t)
- IF_FEATURE_IPV6(unsigned)
diff --git a/net/atlas-probe/patches/006-Cast-sockaddr_in6-to-sockaddr-to-mute-compilation-wa.patch b/net/atlas-probe/patches/006-Cast-sockaddr_in6-to-sockaddr-to-mute-compilation-wa.patch
deleted file mode 100644 (file)
index 24b164b..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-From dba9e1b7707c9cc9f5804b7a5cbda32a08e9e18f Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Mon, 17 Oct 2022 20:00:24 +0200
-Subject: [PATCH] Cast sockaddr_in6 to sockaddr to mute compilation warning
-
-Cast sockaddr_in6 to sockaddr to mute compilation warning as
-documentation say for getsockname.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- eperd/evtdig.c      |  3 ++-
- eperd/httpget.c     |  3 ++-
- eperd/ntp.c         |  4 ++--
- eperd/ping.c        | 12 ++++++++----
- eperd/sslgetcert.c  |  3 ++-
- eperd/traceroute.c  |  2 +-
- networking/rptra6.c |  2 +-
- 7 files changed, 18 insertions(+), 11 deletions(-)
-
---- a/eperd/evtdig.c
-+++ b/eperd/evtdig.c
-@@ -1612,7 +1612,8 @@ static void tcp_connected(struct tu_env
-       }
-       else
-       {
--              getsockname(bufferevent_getfd(bev), &qry->loc_sin6, &qry->loc_socklen);
-+              getsockname(bufferevent_getfd(bev),
-+                      (struct sockaddr *)&qry->loc_sin6, &qry->loc_socklen);
-               if (qry->response_out)
-               {
-                       write_response(qry->resp_file, RESP_SOCKNAME,
---- a/eperd/httpget.c
-+++ b/eperd/httpget.c
-@@ -2103,7 +2103,8 @@ static void connected(struct tu_env *env
-       else
-       {
-               getsockname(bufferevent_getfd(bev),     
--                      &state->loc_sin6, &state->loc_socklen);
-+                      (struct sockaddr *)&state->loc_sin6,
-+                      &state->loc_socklen);
-               if (state->response_out)
-               {
-                       write_response(state->resp_file, RESP_SOCKNAME,
---- a/eperd/ntp.c
-+++ b/eperd/ntp.c
-@@ -1218,13 +1218,13 @@ static int create_socket(struct ntpstate
-               len= sizeof(state->loc_sin6);
-               read_response(state->socket, RESP_SOCKNAME,
--                      &len, &state->loc_sin6);
-+                      &len, (struct sockaddr *)&state->loc_sin6);
-               state->loc_socklen= len;
-       }
-       else
-       {
-               if (getsockname(state->socket,
--                      &state->loc_sin6,
-+                      (struct sockaddr*)&state->loc_sin6,
-                       &state->loc_socklen) == -1)
-               {
-                       crondlog(DIE9 "getsockname failed");
---- a/eperd/ping.c
-+++ b/eperd/ping.c
-@@ -703,7 +703,8 @@ static void ping_xmit(struct pingstate *
-               }
-               else
-               {
--                      getsockname(host->socket, &host->loc_sin6,
-+                      getsockname(host->socket,
-+                              (struct sockaddr *)&host->loc_sin6,
-                               &host->loc_socklen);
-                       if (host->resp_file_out)
-                       {
-@@ -735,7 +736,8 @@ static void ping_xmit(struct pingstate *
-                       host->include_probe_id);
-               host->loc_socklen= sizeof(host->loc_sin6);
--              getsockname(host->socket, &host->loc_sin6, &host->loc_socklen);
-+              getsockname(host->socket, (struct sockaddr *)&host->loc_sin6,
-+                      &host->loc_socklen);
-               if (host->response_in)
-               {
-@@ -1567,7 +1569,8 @@ static void ping_start2(void *state)
-       }
-       if (!pingstate->response_in && 
--              connect(pingstate->socket, &pingstate->sin6, 
-+              connect(pingstate->socket,
-+              (struct sockaddr *)&pingstate->sin6, 
-               pingstate->socklen) == -1)
-       {
-               snprintf(line, sizeof(line),
-@@ -1592,7 +1595,8 @@ static void ping_start2(void *state)
-       }
-       else
-       {
--              getsockname(pingstate->socket, &pingstate->loc_sin6,
-+              getsockname(pingstate->socket,
-+                      (struct sockaddr *)&pingstate->loc_sin6,
-                       &pingstate->loc_socklen);
-               if (pingstate->resp_file_out)
-               {
---- a/eperd/sslgetcert.c
-+++ b/eperd/sslgetcert.c
-@@ -1801,7 +1801,8 @@ static void connected(struct tu_env *env
-       else
-       {
-               getsockname(bufferevent_getfd(bev),     
--                      &state->loc_sin6, &state->loc_socklen);
-+                      (struct sockaddr *)&state->loc_sin6,
-+                      &state->loc_socklen);
-               if (state->response_out)
-               {
-                       write_response(state->resp_file, RESP_SOCKNAME,
---- a/eperd/traceroute.c
-+++ b/eperd/traceroute.c
-@@ -4631,7 +4631,7 @@ static int create_socket(struct trtstate
-       {
-               state->loc_socklen= sizeof(state->loc_sin6);
-               if (!state->response_in && getsockname(state->socket_icmp,
--                      &state->loc_sin6,
-+                      (struct sockaddr *)&state->loc_sin6,
-                       &state->loc_socklen) == -1)
-               {
-                       crondlog(DIE9 "getsockname failed");
---- a/networking/rptra6.c
-+++ b/networking/rptra6.c
-@@ -441,7 +441,7 @@ static int send_sol(int sock)
-       inet_pton(AF_INET6, "FF02::2", &sin6.sin6_addr);
-       sin6.sin6_family= AF_INET6;
--      sendto(sock, &pkt, sizeof(pkt), 0, &sin6, sizeof(sin6));
-+      sendto(sock, &pkt, sizeof(pkt), 0, (struct sockaddr*)&sin6, sizeof(sin6));
-       alarm(RTR_SOLICITATION_INTERVAL);
diff --git a/net/atlas-probe/patches/007-Cast-size_t-to-long-to-mute-warning-on-32bit-systems.patch b/net/atlas-probe/patches/007-Cast-size_t-to-long-to-mute-warning-on-32bit-systems.patch
deleted file mode 100644 (file)
index 0e2d3cb..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From d8bd85fba865508c0c6dff57b14c98f3ca70bbfc Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Mon, 17 Oct 2022 19:18:06 +0200
-Subject: [PATCH] Cast size_t to long to mute warning on 32bit systems
-
-Cast size_t to long to mute warning on 32bit systems.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- eperd/evtdig.c     | 10 +++++-----
- eperd/sslgetcert.c |  2 +-
- libbb/atlas_bb64.c |  2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
---- a/eperd/evtdig.c
-+++ b/eperd/evtdig.c
-@@ -3792,7 +3792,7 @@ unsigned char* ReadName(unsigned char *b
-                               /* Bad format */
-                               snprintf((char *)name, sizeof(name),
-                                       "format-error at %lu: value 0x%x",
--                                      offset, len);
-+                                      (unsigned long)offset, len);
-                               *count= -1;
-                               free(name); name= NULL;
-                               return name;
-@@ -3803,7 +3803,7 @@ unsigned char* ReadName(unsigned char *b
-                       {
-                               snprintf((char *)name, sizeof(name),
-                                       "offset-error at %lu: offset %lu",
--                                      offset, noffset);
-+                                      (unsigned long)offset, (unsigned long)noffset);
-                               *count= -1;
-                               free(name); name= NULL;
-                               return name;
-@@ -3814,7 +3814,7 @@ unsigned char* ReadName(unsigned char *b
-                               /* Too many */
-                               snprintf((char *)name, sizeof(name),
-                                       "too many redirects at %lu",
--                                              offset);
-+                                              (unsigned long)offset);
-                               *count= -1;
-                               free(name); name= NULL;
-                               return name;
-@@ -3836,7 +3836,7 @@ unsigned char* ReadName(unsigned char *b
-               {
-                       snprintf((char *)name, sizeof(name),
-                               "buf-bounds-error at %lu: len %d",
--                                      offset, len);
-+                                      (unsigned long)offset, len);
-                       *count= -1;
-                       free(name); name= NULL;
-                       return name;
-@@ -3846,7 +3846,7 @@ unsigned char* ReadName(unsigned char *b
-               {
-                       snprintf((char *)name, sizeof(name),
-                                       "name-length-error at %lu: len %d",
--                                      offset, p+len+1);
-+                                      (unsigned long)offset, p+len+1);
-                       *count= -1;
-                       free(name); name= NULL;
-                       return name;
---- a/eperd/sslgetcert.c
-+++ b/eperd/sslgetcert.c
-@@ -182,7 +182,7 @@ static void buf_add(struct buf *buf, con
-       newbuf= malloc(maxsize);
-       if (!newbuf)
-       {
--              fprintf(stderr, "unable to allocate %ld bytes\n", maxsize);
-+              fprintf(stderr, "unable to allocate %ld bytes\n", (long)maxsize);
-               exit(1);
-       }
---- a/libbb/atlas_bb64.c
-+++ b/libbb/atlas_bb64.c
-@@ -43,7 +43,7 @@ int buf_add(struct buf *buf, const void
-       newbuf= malloc(maxsize);
-       if (!newbuf)
-       {
--              fprintf(stderr, "unable to allocate %ld bytes\n", maxsize);
-+              fprintf(stderr, "unable to allocate %ld bytes\n", (long)maxsize);
-               return (1);
-       }
diff --git a/net/atlas-probe/patches/010-openssl.patch b/net/atlas-probe/patches/010-openssl.patch
new file mode 100644 (file)
index 0000000..5396597
--- /dev/null
@@ -0,0 +1,25 @@
+--- a/libevent-2.1.11-stable/test/regress_ssl.c
++++ b/libevent-2.1.11-stable/test/regress_ssl.c
+@@ -148,9 +148,9 @@ ssl_getcert(EVP_PKEY *key)
+       X509_set_issuer_name(x509, name);
+       X509_NAME_free(name);
+-      X509_time_adj(X509_get_notBefore(x509), 0, &now);
++      X509_time_adj(X509_getm_notBefore(x509), 0, &now);
+       now += 3600;
+-      X509_time_adj(X509_get_notAfter(x509), 0, &now);
++      X509_time_adj(X509_getm_notAfter(x509), 0, &now);
+       X509_set_pubkey(x509, key);
+       tt_assert(0 != X509_sign(x509, key, EVP_sha1()));
+@@ -469,8 +469,8 @@ regress_bufferevent_openssl(void *arg)
+       type = (enum regress_openssl_type)data->setup_data;
+       if (type & REGRESS_OPENSSL_RENEGOTIATE) {
+-              if (SSLeay() >= 0x10001000 &&
+-                  SSLeay() <  0x1000104f) {
++              if (OPENSSL_VERSION_NUMBER  >= 0x10001000 &&
++                  OPENSSL_VERSION_NUMBER  <  0x1000104f) {
+                       /* 1.0.1 up to 1.0.1c has a bug where TLS1.1 and 1.2
+                        * can't renegotiate with themselves. Disable. */
+                       disable_tls_11_and_12 = 1;
index 4ea2e3eaaf9b128d481bf0cd5d53ae76c0f45395..21506dba25418f7cad0fc55c1ba152979425d056 100644 (file)
@@ -7,15 +7,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=atlas-sw-probe
-PKG_VERSION:=5040
-PKG_RELEASE:=1
+PKG_VERSION:=5080
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-software-probe.git
 PKG_SOURCE:=ripe-atlas-software-probe-$(PKG_VERSION).tar.gz
 
-PKG_MIRROR_HASH:=fed1d6fa1f513e72d7266098dd74232741e2d70aea583f23e7e85521c971c6fc
-PKG_SOURCE_VERSION:=193daa18cc305c0194045e2d24d004b5116f041a
+PKG_MIRROR_HASH:=ad8b012803f98abbf1594384c5a4e27de9e9c112d43da272e73dd10591a566e1
+PKG_SOURCE_VERSION:=67b0736887d33d1c42557e7c7694cbd4e5d8e6ee
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
@@ -90,7 +90,8 @@ define Package/atlas-sw-probe/install
        echo "prod" > $(1)/$(SCRIPTS_DIR)/state/mode
 
        # Copy scripts
-       $(CP) $(PKG_BUILD_DIR)/bin/{ATLAS,common-pre.sh,common.sh,reginit.sh,resolvconf} $(1)/$(SCRIPTS_DIR)/bin/
+       $(CP) $(PKG_BUILD_DIR)/bin/{ATLAS,resolvconf} $(1)/$(SCRIPTS_DIR)/bin/
+       $(CP) $(PKG_BUILD_DIR)/bin/*.sh $(1)/$(SCRIPTS_DIR)/bin/
        $(CP) $(PKG_BUILD_DIR)/bin/arch/{linux,openwrt-sw-probe} $(1)/$(SCRIPTS_DIR)/bin/arch/
 
        # Create config info
diff --git a/net/clamav/patches/020-iconv.patch b/net/clamav/patches/020-iconv.patch
deleted file mode 100644 (file)
index 09cd491..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -448,7 +448,7 @@ endif()
- # libclamav feature dependencies
- if(NOT WIN32)
--    find_package(Iconv REQUIRED)
-+    find_package(Iconv)
-     # Set variable required by libclamav to use iconv
-     set(HAVE_ICONV 1)
- endif()
---- a/libclamav/CMakeLists.txt
-+++ b/libclamav/CMakeLists.txt
-@@ -536,10 +536,39 @@ if(ENABLE_SHARED_LIB)
-                 ClamAV::win32_compat
-                 wsock32 ws2_32 )
-     else()
-+        if(Iconv_FOUND)
-+            if(NOT Iconv_IS_BUILT_IN)
-+                target_link_libraries(clamav PRIVATE Iconv::Iconv)
-+                set(CMAKE_REQUIRED_LIBRARIES "Iconv::Iconv")
-+            endif()
-+        else()
-+            # Sometime the build environment is not setup
-+            # in a way CMake can find Iconv on its own by default.
-+            # But if we simply link against iconv (-liconv), the build may succeed
-+            # due to other compiler/link flags.
-+            set(CMAKE_REQUIRED_LIBRARIES "iconv")
-+            check_c_source_compiles("
-+                #include <stddef.h>
-+                #include <iconv.h>
-+                int main() {
-+                    char *a, *b;
-+                    size_t i, j;
-+                    iconv_t ic;
-+                    ic = iconv_open(\"to\", \"from\");
-+                    iconv(ic, &a, &i, &b, &j);
-+                    iconv_close(ic);
-+                }
-+                "
-+                Iconv_EXPLICITLY_AT_ENV)
-+            if(Iconv_EXPLICITLY_AT_ENV)
-+                target_link_libraries(clamav PRIVATE iconv)
-+            else()
-+                message(FATAL_ERROR "Iconv is not found, make sure to provide it in the build environment")
-+            endif()
-+        endif()
-         target_link_libraries( clamav
-             PUBLIC
-                 Threads::Threads
--                Iconv::Iconv
-                 ${CMAKE_DL_LIBS}
-                 m )
-     endif()
-@@ -556,8 +585,6 @@ if(ENABLE_SHARED_LIB)
-     if(WIN32)
-         set_target_properties( clamav PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
--    else()
--        target_link_libraries( clamav PUBLIC Iconv::Iconv )
-     endif()
-     if(WIN32)
-         install( TARGETS clamav DESTINATION . COMPONENT libraries )
index 32680a2ed0fe737e4c3b3e5df00efcb68fd5ed0f..c0e13fdbe8331273e6d98c0e49346bc738012dc1 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cloudflared
-PKG_VERSION:=2022.12.1
+PKG_VERSION:=2023.1.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cloudflare/cloudflared/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=8cc5c41ea98a9d72687d5f62e733a9033191e834e4fa9b2aecc557f0ccfbda56
+PKG_HASH:=68b66ec333329cda386b304a333b6f24e3ecc09696184603ca37426d522c4cd2
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index 2ac7fb58c7f5ba6c6e29276be427ab3226228a8a..5729305dcba2f2ca21cccaf6b977dbda082cdc99 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=33
+PKG_RELEASE:=34
 
 PKG_LICENSE:=GPL-2.0
 
diff --git a/net/ddns-scripts/files/usr/share/ddns/default/hosting.de.json b/net/ddns-scripts/files/usr/share/ddns/default/hosting.de.json
new file mode 100644 (file)
index 0000000..c41ee35
--- /dev/null
@@ -0,0 +1,11 @@
+{
+       "name": "hosting.de",
+       "ipv4": {
+               "url": "https://[USERNAME]:[PASSWORD]@ddns.hosting.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
+               "answer": "good|nochg"
+       },
+       "ipv6": {
+               "url": "https://[USERNAME]:[PASSWORD]@ddns.hosting.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
+               "answer": "good|nochg"
+       }
+}
index 3104376217d6704da878bf1349e566ce43e2aff2..ef117c654197c042f450ecb6c3e4903f23be0726 100644 (file)
@@ -32,6 +32,7 @@ easydns.com
 goip.de
 google.com
 he.net
+hosting.de
 infomaniak.com
 inwx.de
 joker.com
index 5e60cdfd6b5aaab087e2a785112101710974daf5..2d67aa6e0da9f1b5fff1552d081a101f1a488629 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=foolsm
-PKG_VERSION:=1.0.13
-PKG_RELEASE:=2
+PKG_VERSION:=1.0.21
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://lsm.foobar.fi/download
-PKG_HASH:=4eeda0e666e8ee93aab9b9c6709e9695e042dc391fb0999280874c8a73bce476
+PKG_SOURCE_URL:=https://lsm.foobar.fi/download
+PKG_HASH:=527d9c363aa62b9fc511b42c5a06f774a8767c4b5330db4d959c10b46b0dede7
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-only
index af31d27fc41ff897be94476596bc9bc22ec9be3f..aa800e1fcad616baed5d0007ff75cd475e36f57b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git
-PKG_VERSION:=2.34.3
+PKG_VERSION:=2.34.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=648e2f753a4360984d437f9038cb4649442fb5be846950bcaaca006b75c78418
+PKG_HASH:=ed2c17ea71cacac9b92835e74edef7b26ed5bc85bb25e954adb0efa12fbfcf69
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
index a274ef9570dbea5b70c8919b7d1597db991d0c6d..e992c48e4bc9d13d647acbebfd558a7b567b9a27 100644 (file)
@@ -2,11 +2,11 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet-fuse
 
-PKG_VERSION:=0.16.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=0.19.1
+PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/gnunet
-PKG_HASH:=2cbeb79cc2aa9939d5faaaf52c21da125029cb6646c1db0d3b9e9feea7f23fa6
+PKG_HASH:=8f1f6f4d76c108ae74c0ec849bc9c02dc8dea412e205c56236c86cb792ccc9b4
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
diff --git a/net/gnunet-fuse/patches/001-pthread_mutexattr_settype.patch b/net/gnunet-fuse/patches/001-pthread_mutexattr_settype.patch
deleted file mode 100644 (file)
index 4c9eba5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-Always use pthread_mutexattr_settype() the 
-pthread_mutexattr_setkind_np() is not available in the glibc and musl 
-version used by OpenWrt.
-
-This patch was taken from:
-https://aur.archlinux.org/cgit/aur.git/plain/pthread_mutexattr_settype.patch?h=gnunet-fuse
-
---- a/src/fuse/mutex.c
-+++ b/src/fuse/mutex.c
-@@ -35,16 +35,6 @@
- #endif
- #endif
--/**
-- * This prototype is somehow missing in various Linux pthread
-- * include files. But we need it and it seems to be available
-- * on all pthread-systems so far. Odd.
-- */
--#ifndef _MSC_VER
--extern int pthread_mutexattr_setkind_np (pthread_mutexattr_t * attr,
--                                         int kind);
--#endif
--
- /**
-  * @brief Structure for MUTual EXclusion (Mutex).
-@@ -67,23 +57,13 @@ GNUNET_mutex_create (int isRecursive)
-   pthread_mutexattr_init (&attr);
-   if (isRecursive)
-     {
--#ifdef __linux__
--      GNUNET_assert (0 == pthread_mutexattr_setkind_np
--                   (&attr, PTHREAD_MUTEX_RECURSIVE_NP));
--#elif BSD || SOLARIS || OSX || WINDOWS
-       GNUNET_assert (0 == pthread_mutexattr_settype
-                    (&attr, PTHREAD_MUTEX_RECURSIVE));
--#endif
-     }
-   else
-     {
--#ifdef __linux__
--      GNUNET_assert (0 == pthread_mutexattr_setkind_np
--                   (&attr, PTHREAD_MUTEX_ERRORCHECK_NP));
--#else
-       GNUNET_assert (0 == pthread_mutexattr_settype
-                    (&attr, PTHREAD_MUTEX_ERRORCHECK));
--#endif
-     }
-   mut = GNUNET_new (struct GNUNET_Mutex);
-   GNUNET_assert (0 == pthread_mutex_init (&mut->pt, &attr));
index 59c4062371eb71f4138746a06e86c4bca3430d2a..193c6c1020c67a263d595500cd50e9740cf53a8e 100644 (file)
@@ -2,11 +2,11 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet
 
-PKG_VERSION:=0.17.5
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=0.19.2
+PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/gnunet
-PKG_HASH:=8a744ff7a95d1e83215cce118050640f6c12261abe4c60a56bcf88e500f0023d
+PKG_HASH:=86034d92ebf8f6623dad95f1031ded1466e064b96ffac9d3e9d47229ac2c22ff
 
 PKG_LICENSE:=AGPL-3.0
 PKG_LICENSE_FILES:=COPYING
@@ -38,7 +38,7 @@ CONFIGURE_ARGS+= \
        --with-gnutls=$(STAGING_DIR)/usr \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-transport-bluetooth),--with-bluetooth="$(STAGING_DIR)/usr",--without-bluetooth) \
        --with-jose=$(STAGING_DIR)/usr \
-       --with-libgnurl=$(STAGING_DIR)/usr \
+       --with-libcurl=$(STAGING_DIR)/usr \
        --with-ogg=$(STAGING_DIR)/usr \
        --with-opus=$(STAGING_DIR)/usr \
        --with-pabc=$(STAGING_DIR)/usr \
@@ -131,6 +131,13 @@ define BuildComponent
                done \
        fi )
 
+       ( if [ "$(SQL_$(1))" ]; then \
+               $(INSTALL_DIR) $$(1)/usr/share/gnunet/sql && \
+               for sql in $(SQL_$(1)); do \
+               $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/sql/$$$$$$$$sql.sql $$(1)/usr/share/gnunet/sql || exit 1; \
+               done \
+       fi )
+
        ( if [ -e ./files/gnunet-$(1).defaults ]; then \
                $(INSTALL_DIR) $$(1)/etc/uci-defaults && \
                $(INSTALL_BIN) ./files/gnunet-$(1).defaults $$(1)/etc/uci-defaults/gnunet-$(1) ; \
@@ -145,7 +152,7 @@ define Package/gnunet/install
        $(INSTALL_DIR) $(1)/usr/share/gnunet/config.d $(1)/usr/share/gnunet/hellos
 
        ( for bin in arm ats cadet core config ecc identity nat nat-auto nat-server nse \
-           peerinfo peerstore revocation scalarproduct scrypt statistics transport uri; do \
+           peerinfo revocation scalarproduct scrypt statistics transport uri; do \
                $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnunet-$$$$bin $(1)/usr/bin/ || exit 1; \
        done )
 
@@ -217,7 +224,7 @@ CONF_conversation:=conversation
 BIN_dht-cli:=dht-get dht-hello dht-put dht-monitor
 PLUGIN_dht-cli:=block_test
 
-DEPENDS_curl:=+libgnurl +jansson
+DEPENDS_curl:=+libcurl-gnutls +jansson
 LIB_curl:=curl
 
 DEPENDS_hostlist:=+libmicrohttpd-ssl +gnunet-curl +ca-bundle
@@ -264,7 +271,7 @@ USERID_gns:=:gnunetdns=452
 BIN_gns:=gns namecache namestore resolver zoneimport
 LIB_gns:=gns gnsrecord namecache namestore
 PLUGIN_gns:=block_dns block_gns gnsrecord_conversation gnsrecord_dns gnsrecord_gns
-LIBEXEC_gns:=dns2gns helper-dns service-dns service-gns service-namecache service-namestore service-resolver service-zonemaster service-zonemaster-monitor
+LIBEXEC_gns:=dns2gns helper-dns service-dns service-gns service-namecache service-namestore service-resolver service-zonemaster
 CONF_gns:=dns gns namecache namestore resolver zonemaster
 FILE_MODES_gns:=/usr/lib/gnunet/libexec/gnunet-helper-dns:root:gnunetdns:4750 /usr/lib/gnunet/libexec/gnunet-service-dns:gnunet:gnunetdns:2750
 
@@ -307,9 +314,6 @@ CONF_rps:=rps
 PLUGIN_dhtcache-heap:=datacache_heap
 CONFLICTS_dhtcache-heap:=gnunet-dhtcache-pgsql gnunet-dhtcache-sqlite
 
-DEPENDS_gns-flat:=+gnunet-gns
-PLUGIN_gns-flat:=namecache_flat namestore_flat
-
 PLUGIN_peerstore-flat:=peerstore_flat
 
 DEPENDS_fs-heap:=+gnunet-datastore
@@ -326,26 +330,29 @@ CONFLICTS_fs-mysql:=gnunet-fs-pgsql gnunet-fs-sqlite
 
 DEPENDS_pgsql:=+libpq +pgsql-server
 LIB_pgsql:=pq
+SQL_pgsql:=versioning
 USERID_pgsql:=gnunet=958::postgres=5432
 
 DEPENDS_dhtcache-pgsql:=+gnunet-pgsql
 PLUGIN_dhtcache-pgsql:=datacache_postgres
 CONFLICTS_dhtcache-pgsql:=gnunet-dhtcache-sqlite
+SQL_dhtcache-pgsql:=datacache-0001 datacache-drop
 
 DEPENDS_fs-pgsql:=+gnunet-pgsql +gnunet-datastore
 PLUGIN_fs-pgsql:=datastore_postgres
 CONFLICTS_fs-pgsql:=gnunet-fs-sqlite
+SQL_fs-pgsql:=datastore-0001 datastore-drop
 
 DEPENDS_gns-pgsql:=+gnunet-pgsql +gnunet-gns
 PLUGIN_gns-pgsql:=namecache_postgres namestore_postgres
-CONFLICTS_gns-pgsql:=gnunet-gns-sqlite gnunet-gns-flat
+CONFLICTS_gns-pgsql:=gnunet-gns-sqlite
+SQL_gns-pgsql:=namecache-0001 namecache-drop namestore-0001 namestore-drop
 
 DEPENDS_sqlite:=+libsqlite3
 LIB_sqlite:=sq
 
 DEPENDS_gns-sqlite:=+gnunet-gns +gnunet-sqlite
 PLUGIN_gns-sqlite:=namecache_sqlite namestore_sqlite
-CONFLICTS_gns-sqlite:=gnunet-gns-flat
 
 DEPENDS_peerstore-sqlite:=+gnunet-sqlite
 PLUGIN_peerstore-sqlite:=peerstore_sqlite
@@ -430,7 +437,6 @@ $(eval $(call BuildComponent,rps,RPS routing component,y))
 $(eval $(call BuildComponent,namestore-fcfsd,first-come-first-serve registration server,))
 $(eval $(call BuildComponent,dhtcache-heap,heap-based dhtcache plugin,y))
 $(eval $(call BuildComponent,fs-heap,heap-based filesharing plugin,))
-$(eval $(call BuildComponent,gns-flat,flat storage GNS plugins,y))
 $(eval $(call BuildComponent,peerstore-flat,flat storage peerstore plugin,))
 $(eval $(call BuildComponent,mysql,mySQL backend,))
 $(eval $(call BuildComponent,fs-mysql,mySQL filesharing plugins,))
index 96e75ae2d5f488807c90176caedb512abc6f6986..cbb83c2288da9be5d9e80e8ea0629ca3284296ea 100644 (file)
@@ -1,14 +1,14 @@
 --- a/src/include/gnunet_common.h
 +++ b/src/include/gnunet_common.h
-@@ -154,7 +154,6 @@ enum GNUNET_GenericReturnValue
+@@ -164,7 +164,6 @@ enum GNUNET_GenericReturnValue
   * Endian operations
   */
  
 -#if __BYTE_ORDER == __LITTLE_ENDIAN
- #ifdef HAVE_BYTESWAP_H
+ #if defined(bswap_16) || defined(bswap_32) || defined(bswap_64)
  #define BYTE_SWAP_16(x) bswap_16 (x)
  #define BYTE_SWAP_32(x) bswap_32 (x)
-@@ -174,6 +173,7 @@ enum GNUNET_GenericReturnValue
+@@ -184,6 +183,7 @@ enum GNUNET_GenericReturnValue
                                               56))
  #endif
  
diff --git a/net/gnunet/patches/020-curl-no-runtime-test.patch b/net/gnunet/patches/020-curl-no-runtime-test.patch
new file mode 100644 (file)
index 0000000..6fc7d6b
--- /dev/null
@@ -0,0 +1,16 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -727,12 +727,7 @@ LIBCURL_CHECK_CONFIG([], [7.34.0], [],
+ OLD_LIBS=$LIBS
+ LIBS="$LIBS $LIBCURL"
+-AC_RUN_IFELSE(
+-     [AC_LANG_PROGRAM([[#include <curl/curl.h>]],
+-                      [[return (CURLSSLSET_OK != curl_global_sslset(CURLSSLBACKEND_GNUTLS, NULL, NULL));]])],
+-                    [curl_gnutls=1],
+-                    [AC_MSG_WARN([cURL does not have GnuTLS backend])
+-                     curl_gnutls=0])
++curl_gnutls=1
+ LIBS=$OLD_LIBS
+ AM_CONDITIONAL([HAVE_GNUTLS_CURL], [test "x$curl_gnutls" = "x1"])
+ AC_SUBST([curl_gnutls])
diff --git a/net/gnurl/Makefile b/net/gnurl/Makefile
deleted file mode 100644 (file)
index dd17143..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# Copyright (C) 2007-2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=gnurl
-PKG_VERSION:=7.72.0
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@GNU/gnunet
-PKG_HASH:=b1e72be03fcf9b3fdaf01ae0702c686e9de10f67ef538918447c9e81555694f8
-
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=COPYING
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/gnurl/Default
-  SECTION:=net
-  CATEGORY:=Network
-  URL:=https://gnunet.org/en/gnurl.html
-endef
-
-define Package/gnurl
-  $(call Package/gnurl/Default)
-  SUBMENU:=File Transfer
-  DEPENDS:=+libgnurl
-  TITLE:=A client-side HTTP/HTTPS transfer utility
-endef
-
-define Package/libgnurl
-  $(call Package/gnurl/Default)
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=+libgnutls +libidn2 +zlib
-  TITLE:=A client-side HTTP/HTTPS transfer library
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-CONFIGURE_ARGS += \
-       $(call autoconf_bool,CONFIG_IPV6,ipv6) \
-       --with-gnutls="$(STAGING_DIR)/usr" \
-       --with-libidn="$(STAGING_DIR)/usr" \
-       --with-zlib="$(STAGING_DIR)/usr" \
-       --with-ca-path="/etc/ssl/certs/" \
-       --enable-shared \
-       --enable-static \
-       --without-axtls \
-       --without-brotli \
-       --without-libssh2 \
-       --without-libmetalink \
-       --without-winidn \
-       --without-librtmp \
-       --without-nghttp2 \
-       --without-nss \
-       --without-cyassl \
-       --without-libpsl \
-       --without-polarssl \
-       --without-ssl \
-       --without-winssl \
-       --without-darwinssl \
-       --without-zstd \
-       --disable-ares \
-       --disable-sspi \
-       --disable-crypto-auth \
-       --disable-ntlm-wb \
-       --disable-tls-srp \
-       --disable-ldap \
-       --disable-ldaps \
-       --disable-rtsp \
-       --disable-dict \
-       --disable-telnet \
-       --disable-tftp \
-       --disable-pop3 \
-       --disable-imap \
-       --disable-smtp \
-       --disable-gopher \
-       --disable-file \
-       --disable-ftp \
-       --disable-smb \
-       --disable-debug \
-       --disable-manual \
-       --disable-verbose
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include/gnurl $(1)/usr/lib $(1)/usr/lib/pkgconfig
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnurl-config $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/gnurl/*.h $(1)/usr/include/gnurl
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnurl.{a,so*} $(1)/usr/lib/
-       $(CP) $(PKG_BUILD_DIR)/libgnurl.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/gnurl-config
-       [ -n "$(TARGET_LDFLAGS)" ] && $(SED) 's#$(TARGET_LDFLAGS)##g' $(1)/usr/lib/pkgconfig/libgnurl.pc || true
-       $(LN) $(STAGING_DIR)/usr/bin/gnurl-config $(2)/bin/
-endef
-
-define Package/gnurl/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnurl $(1)/usr/bin/
-endef
-
-define Package/libgnurl/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnurl.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,gnurl))
-$(eval $(call BuildPackage,libgnurl))
index 5dcf4d3abeaa7a05a6ea61df6f3b8cfaeccb49b5..146aa6698ab4f22fedefb9c831e9eb978028d55f 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=i2pd
-PKG_VERSION:=2.43.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=2.45.0
+PKG_RELEASE:=1
 PKG_BUILD_PARALLEL:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/PurpleI2P/i2pd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=db1679653491a411dd16fa329488d840296c8f680e0691f9fe0d0e796e5d7bca
+PKG_HASH:=4050c0a38fda06a76defbd2721f468f5b09889ed7b6b5a7e207e4659d300738f
 
 PKG_MAINTAINER:=David Yang <mmyangfl@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index f3e52cf683aa80bf2ffad5ce27b6838176fd2835..3b08cc387fe3839a971712c59e2abd245ae75b14 100644 (file)
@@ -29,7 +29,7 @@
  ## Write full CLF-formatted date and time to log (default: write only time)
  # logclftime = true
  
-@@ -115,9 +115,9 @@ published = true
+@@ -115,9 +115,9 @@ ssu = false
  [http]
  ## Web Console settings
  ## Uncomment and set to 'false' to disable Web Console
  ## Name i2pd appears in UPnP forwardings list (default = I2Pd)
  # name = I2Pd
  
-@@ -238,7 +238,7 @@ verify = true
+@@ -239,7 +239,7 @@ verify = true
  [limits]
- ## Maximum active transit sessions (default:2500)
--# transittunnels = 2500
+ ## Maximum active transit sessions (default: 5000)
+ ## This value is doubled if floodfill mode is enabled!
+-# transittunnels = 5000
 +transittunnels = 500
  ## Limit number of open file descriptors (0 - use system limit)
  # openfiles = 0
index 9f2b0555ed873717525e6d58ed8f7561ca04a407..2c6dd442be7cde643e7967bb9a58564666608841 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=isc-dhcp
 UPSTREAM_NAME:=dhcp
 PKG_VERSION:=4.4.3
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=6
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index dcee7593c44fe0792928a067dcbce0c1a58a4453..bbbd949f0cc3b51806ee287904b48973ed2a70e1 100644 (file)
@@ -5,7 +5,7 @@
                rm -rf ${cleandirs} ${cleanfiles} ;                     \
                (cd ${bindsrcdir} &&                                    \
 -                 ./configure ${bindconfig} > ${binddir}/configure.log); \
-+               export CC=${CROSS_CC} AR=${TARGET_AR} RANLIB=${TARGET_RANLIB} && \
++               export CC="${CROSS_CC}" AR=${TARGET_AR} RANLIB=${TARGET_RANLIB} && \
 +                ./configure ${bindconfig} --disable-atomic             \
 +               --disable-kqueue --disable-epoll --disable-kqueue      \
 +                --disable-epoll --disable-devpoll --without-openssl    \
index bd956032cd83ae7bd0b06d79b8a70167adaeaebe..fbd4d5dc4f52da47366551d95e18dceddab4752c 100644 (file)
@@ -3,7 +3,7 @@
 @@ -57,6 +57,7 @@ bind1:
                rm -rf ${cleandirs} ${cleanfiles} ;                     \
                (cd ${bindsrcdir} &&                                    \
-                export CC=${CROSS_CC} AR=${TARGET_AR} RANLIB=${TARGET_RANLIB} && \
+                export CC="${CROSS_CC}" AR=${TARGET_AR} RANLIB=${TARGET_RANLIB} && \
 +               ac_cv_func_catgets=no                                  \
                  ./configure ${bindconfig} --disable-atomic             \
                 --disable-kqueue --disable-epoll --disable-kqueue      \
diff --git a/net/libcurl-gnutls/Makefile b/net/libcurl-gnutls/Makefile
new file mode 100644 (file)
index 0000000..55801dc
--- /dev/null
@@ -0,0 +1,112 @@
+#
+# Copyright (C) 2007-2023 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libcurl-gnutls
+
+PKG_SOURCE_NAME:=curl
+PKG_VERSION:=7.86.0
+PKG_RELEASE:=1
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/curl/curl/releases/download/curl-$(subst .,_,$(PKG_VERSION))/ \
+       https://dl.uxnr.de/mirror/curl/ \
+       https://curl.askapache.com/download/ \
+       https://curl.se/download/
+PKG_HASH:=2d61116e5f485581f6d59865377df4463f2e788677ac43222b496d4e49fb627b
+
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:haxx:libcurl
+PKG_ABI_VERSION:=4
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+# Make sure headers are present for packages using libcurl-gnutls
+PKG_BUILD_DEPENDS:=curl
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libcurl-gnutls
+  SECTION:=libs
+  CATEGORY:=Libraries
+  URL:=https://gnunet.org/en/gnurl.html
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libgnutls +libidn2 +zlib
+  TITLE:=A client-side HTTP/HTTPS transfer library (build against gnuTLS)
+  ABI_VERSION:=$(PKG_ABI_VERSION)
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
+       $(call autoconf_bool,CONFIG_IPV6,ipv6) \
+       --with-gnutls="$(STAGING_DIR)/usr" \
+       --with-libidn="$(STAGING_DIR)/usr" \
+       --with-zlib="$(STAGING_DIR)/usr" \
+       --with-ca-path="/etc/ssl/certs/" \
+       --enable-shared \
+       --enable-static \
+       --without-axtls \
+       --without-brotli \
+       --without-libssh2 \
+       --without-winidn \
+       --without-librtmp \
+       --without-nghttp2 \
+       --without-nss \
+       --without-cyassl \
+       --without-libpsl \
+       --without-polarssl \
+       --without-openssl \
+       --without-winssl \
+       --without-zstd \
+       --disable-ares \
+       --disable-sspi \
+       --disable-crypto-auth \
+       --disable-ntlm-wb \
+       --disable-tls-srp \
+       --disable-ldap \
+       --disable-ldaps \
+       --disable-mqtt \
+       --disable-rtsp \
+       --disable-dict \
+       --disable-telnet \
+       --disable-tftp \
+       --disable-pop3 \
+       --disable-imap \
+       --disable-smtp \
+       --disable-gopher \
+       --disable-file \
+       --disable-ftp \
+       --disable-smb \
+       --disable-debug \
+       --disable-manual \
+       --disable-verbose
+
+define Build/Compile
+       $(call Build/Compile/Default)
+       patchelf --set-soname 'libcurl-gnutls.so.$(PKG_ABI_VERSION)' $(PKG_BUILD_DIR)/lib/.libs/libcurl.so.$(PKG_ABI_VERSION).*
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurl.so.$(PKG_ABI_VERSION).* $(1)/usr/lib/libcurl-gnutls.so.$(PKG_ABI_VERSION)
+       $(LN) libcurl-gnutls.so.$(PKG_ABI_VERSION) $(1)/usr/lib/libcurl-gnutls.so
+endef
+
+define Package/libcurl-gnutls/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurl.so.$(PKG_ABI_VERSION).* $(1)/usr/lib/libcurl-gnutls.so.$(PKG_ABI_VERSION)
+       $(LN) libcurl-gnutls.so.$(PKG_ABI_VERSION) $(1)/usr/lib/libcurl-gnutls.so
+endef
+
+$(eval $(call BuildPackage,libcurl-gnutls))
index bcc4c0f415029c4d65978ed40a53d7338364e145..cbbb33cadf95ebf8f2e22d11d54f952bf0a0581a 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libreswan
 PKG_VERSION:=4.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.libreswan.org/
@@ -84,9 +84,11 @@ MAKE_FLAGS+= \
     PREFIX="/usr" \
     FINALRUNDIR="/var/run/pluto" \
     FINALNSSDIR="/etc/ipsec.d" \
+    DEFAULT_DNSSEC_ROOTKEY_FILE=/etc/unbound/root.key \
     MODPROBEARGS="-q" \
     OSDEP=linux \
     BUILDENV=linux \
+    LINUX_VARIANT="openwrt" \
     ARCH="$(LINUX_KARCH)" \
 
 define Build/Prepare
index 9564a4c604a89728f65bbfab9b51f074209c5f03..fa8893619dbb135ddb575b6e2d519506dc43eaf7 100644 (file)
@@ -9,12 +9,13 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netperf
 PKG_VERSION:=2.7.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=Custom
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=ftp://ftp.netperf.org/netperf/
-PKG_HASH:=842af17655835c8be7203808c3393e6cb327a8067f3ed1f1053eb78b4e40375a
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/HewlettPackard/netperf
+PKG_MIRROR_HASH:=fa46ffc25a00c925167d96e4c57131b5b650ea725b12b69ff6feabec759b271d
 
 PKG_CPE_ID:=cpe:/a:netperf:netperf
 
@@ -24,7 +25,7 @@ define Package/netperf
   SECTION:=net
   CATEGORY:=Network
   TITLE:=Network performance measurement tool
-  URL:=http://www.netperf.org/
+  URL:=https://github.com/HewlettPackard/netperf
   MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
 endef
 
index ddcd9e1235b51957843daca7035224d10d29f627..ab931e7cd9757b8b7c663a945fb345ca2c5947f7 100644 (file)
@@ -5,57 +5,60 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pbr
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=4
+PKG_RELEASE:=14
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/pbr/default
+define Package/pbr/Default
   SECTION:=net
   CATEGORY:=Network
-  SUBMENU:=VPN
-  PROVIDES:=pbr
+  SUBMENU:=Routing and Redirection
   TITLE:=Policy Based Routing Service
   URL:=https://docs.openwrt.melmac.net/pbr/
-  DEPENDS:=+ip-full +jshn +jsonfilter +resolveip
+  DEPENDS:=+ip-full +jshn +jsonfilter +libubus +resolveip
   CONFLICTS:=vpnbypass vpn-policy-routing
   PKGARCH:=all
 endef
 
 define Package/pbr
-$(call Package/pbr/default)
+$(call Package/pbr/Default)
   TITLE+= with nft/nft set support
-  DEPENDS+=+firewall4 +kmod-nft-core +kmod-nft-nat +nftables-json
+  DEPENDS+=+kmod-nft-core +kmod-nft-nat +nftables-json
+  VARIANT:=nftables
   PROVIDES:=vpnbypass vpn-policy-routing
+  DEFAULT_VARIANT:=1
 endef
 
 define Package/pbr-iptables
-$(call Package/pbr/default)
+$(call Package/pbr/Default)
   TITLE+= with iptables/ipset support
   DEPENDS+=+ipset +iptables +kmod-ipt-ipset +iptables-mod-ipopt
-  PROVIDES:=pbr vpnbypass vpn-policy-routing
+  VARIANT:=iptables
+  PROVIDES:=pbr
 endef
 
 define Package/pbr-netifd
-$(call Package/pbr/default)
+$(call Package/pbr/Default)
   TITLE+= with netifd support
-  PROVIDES:=pbr vpnbypass vpn-policy-routing
+  VARIANT:=netifd
+  PROVIDES:=pbr
 endef
 
 define Package/pbr/description
 This service enables policy-based routing for WAN interfaces and various VPN tunnels.
-This version supports OpenWrt with both fw3/ipset/iptables and fw4/nft.
+This version supports OpenWrt with both firewall3/ipset/iptables and firewall4/nft.
 endef
 
 define Package/pbr-iptables/description
 This service enables policy-based routing for WAN interfaces and various VPN tunnels.
-This version supports OpenWrt with fw3/ipset/iptables.
+This version supports OpenWrt with firewall3/ipset/iptables.
 endef
 
 define Package/pbr-netifd/description
 This service enables policy-based routing for WAN interfaces and various VPN tunnels.
-This version supports OpenWrt with both fw3/ipset/iptables and fw4/nft.
+This version supports OpenWrt with both firewall3/ipset/iptables and firewall4/nft.
 This version uses OpenWrt native netifd/tables to set up interfaces. This is WIP.
 endef
 
@@ -127,8 +130,8 @@ define Package/pbr/prerm
        # check if we are on real system
        if [ -z "$${IPKG_INSTROOT}" ]; then
                uci -q delete firewall.pbr || true
-               echo "Stopping pbr service... "
-               /etc/init.d/pbr stop || true
+               echo -n "Stopping pbr service... "
+               /etc/init.d/pbr stop && echo "OK" || echo "FAIL"
                echo -n "Removing rc.d symlink for pbr... "
                /etc/init.d/pbr disable && echo "OK" || echo "FAIL"
        fi
@@ -148,7 +151,7 @@ define Package/pbr-iptables/postinst
        #!/bin/sh
        # check if we are on real system
        if [ -z "$${IPKG_INSTROOT}" ]; then
-               echo -n "Installing rc.d symlink for pbr... "
+               echo -n "Installing rc.d symlink for pbr-iptables... "
                /etc/init.d/pbr enable && echo "OK" || echo "FAIL"
        fi
        exit 0
@@ -159,9 +162,9 @@ define Package/pbr-iptables/prerm
        # check if we are on real system
        if [ -z "$${IPKG_INSTROOT}" ]; then
                uci -q delete firewall.pbr || true
-               echo "Stopping pbr service... "
-               /etc/init.d/pbr stop || true
-               echo -n "Removing rc.d symlink for pbr... "
+               echo -n "Stopping pbr-iptables service... "
+               /etc/init.d/pbr stop && echo "OK" || echo "FAIL"
+               echo -n "Removing rc.d symlink for pbr-iptables... "
                /etc/init.d/pbr disable && echo "OK" || echo "FAIL"
        fi
        exit 0
@@ -171,12 +174,8 @@ define Package/pbr-netifd/postinst
        #!/bin/sh
        # check if we are on real system
        if [ -z "$${IPKG_INSTROOT}" ]; then
-               echo -n "Installing rc.d symlink for pbr... "
+               echo -n "Installing rc.d symlink for pbr-netifd... "
                /etc/init.d/pbr enable && echo "OK" || echo "FAIL"
-       #       echo -n "Installing netifd support for pbr... "
-       #       /etc/init.d/pbr netifd install && echo "OK" || echo "FAIL"
-       #       echo -n "Restarting network... "
-       #       /etc/init.d/network restart && echo "OK" || echo "FAIL"
        fi
        exit 0
 endef
@@ -186,14 +185,10 @@ define Package/pbr-netifd/prerm
        # check if we are on real system
        if [ -z "$${IPKG_INSTROOT}" ]; then
                uci -q delete firewall.pbr || true
-               echo "Stopping pbr service... "
-               /etc/init.d/pbr stop || true
-       #       echo -n "Removing netifd support for pbr... "
-       #       /etc/init.d/pbr netifd remove && echo "OK" || echo "FAIL"
+               echo -n "Stopping pbr-netifd service... "
+               /etc/init.d/pbr stop && echo "OK" || echo "FAIL"
                echo -n "Removing rc.d symlink for pbr... "
                /etc/init.d/pbr disable && echo "OK" || echo "FAIL"
-       #       echo -n "Restarting network... "
-       #       /etc/init.d/network restart && echo "OK" || echo "FAIL"
        fi
        exit 0
 endef
index 16aae0596f6c3cfabce2aeae1a90dee940b949ba..e612072c3497b0d4d38656d9942c171972a5b429 100755 (executable)
@@ -72,6 +72,8 @@ fw_mask=
 icmp_interface=
 ignored_interface=
 ipv6_enabled=
+nft_user_set_policy=
+nft_user_set_counter=
 procd_boot_delay=
 procd_reload_delay=
 resolver_set=
@@ -103,7 +105,6 @@ resolver_set_supported=
 nftPrevParam4=
 nftPrevParam6=
 
-
 get_text() {
        local r
        case "$1" in
@@ -136,6 +137,8 @@ get_text() {
                errorPolicyProcessUnknownProtocol) r="Unknown protocol in policy %s";;
                errorPolicyProcessInsertionFailed) r="Insertion failed for both IPv4 and IPv6 for policy %s";;
                errorPolicyProcessInsertionFailedIpv4) r="Insertion failed for IPv4 for policy %s";;
+               errorInterfaceRoutingEmptyValues) r="Received empty tid/mark or interface name when setting up routing";;
+               errorFailedToResolve) r="Failed to resolve %s";;
                warningResolverNotSupported) r="Resolver set (${resolver_set}) is not supported on this system.";;
                warningAGHVersionTooLow) r="Installed AdGuardHome (%s) doesn't support 'ipset_file' option.";;
                warningPolicyProcessCMD) r="%s";;
@@ -264,7 +267,7 @@ is_service_running_nft() { [ -x "$nft" ] && [ -n "$(get_mark_nft_chains)" ]; }
 # is_service_running_nft() { [ -x "$nft" ] && [ -s "$nftPermFile" ]; }
 is_service_running() { if is_nft; then is_service_running_nft; else is_service_running_iptables; fi; }
 is_netifd_table() { local iface="$1"; [ "$(uci -q get "network.${iface}.ip4table")" = "${packageName}_${iface%6}" ]; }
-get_rt_tables_id() { local iface="$1"; grep "${packageName}_${iface}" '/etc/iproute2/rt_tables' | awk '{print $1;}'; }
+get_rt_tables_id() { local iface="$1"; grep "${ipTablePrefix}_${iface}\$" '/etc/iproute2/rt_tables' | awk '{print $1;}'; }
 get_rt_tables_next_id() { echo "$(($(sort -r -n '/etc/iproute2/rt_tables' | grep -o -E -m 1 "^[0-9]+")+1))"; }
 _check_config() { local en; config_get_bool en "$1" 'enabled' 1; [ "$en" -gt 0 ] && _cfg_enabled=0; }
 is_config_enabled() {
@@ -276,6 +279,8 @@ is_config_enabled() {
 }
 # shellcheck disable=SC2016
 resolveip_to_ipt() { resolveip "$@" | sed -n 'H;${x;s/\n/,/g;s/^,//;p;};d'; }
+resolveip_to_ipt4() { resolveip_to_ipt -4 "$@"; }
+resolveip_to_ipt6() { [ -n "$ipv6_enabled" ] && resolveip_to_ipt -6 "$@"; }
 # shellcheck disable=SC2016
 resolveip_to_nftset() { resolveip "$@" | sed -n 'H;${x;s/\n/,/g;s/^,//;p;};d' | tr '\n' ' '; }
 resolveip_to_nftset4() { resolveip_to_nftset -4 "$@"; }
@@ -302,6 +307,8 @@ load_package_config() {
        config_get      icmp_interface           'config' 'icmp_interface'
        config_get      ignored_interface        'config' 'ignored_interface'
        config_get_bool ipv6_enabled             'config' 'ipv6_enabled' '0'
+       config_get      nft_user_set_policy      'config' 'nft_user_set_policy' 'memory'
+       config_get_bool nft_user_set_counter     'config' 'nft_user_set_counter' '0'
        config_get      procd_boot_delay         'config' 'procd_boot_delay' '0'
        config_get      resolver_set             'config' 'resolver_set'
        config_get      rule_create_option       'config' 'rule_create_option' 'add'
@@ -320,6 +327,9 @@ load_package_config() {
        if is_nft; then
                fw_maskXor="$(printf '%#x' "$((fw_mask ^ 0xffffffff))")"
                fw_maskXor="${fw_maskXor:-0xff00ffff}"
+               if [ "$nft_user_set_counter" -eq '0' ]; then
+                       unset nft_user_set_counter
+               fi
        else
                case $rule_create_option in
                        insert|-i|-I) rule_create_option='-I';;
@@ -447,8 +457,8 @@ ips() {
 
        case "$command" in
                add)
-                       ips4 -q -! add "$ipset4" comment "$comment" && ipv4_error=0
-                       ips6 -q -! add "$ipset6" comment "$comment" && ipv6_error=0
+                       ips4 -q -! add "$ipset4" ["$param"] comment "$comment" && ipv4_error=0
+                       ips6 -q -! add "$ipset6" ["$param"] comment "$comment" && ipv6_error=0
                ;;
                add_agh_element)
                        [ -n "$ipv6_enabled" ] || unset ipset6
@@ -569,8 +579,12 @@ nftset() {
                                fi
                                [ -z "$param4" ] &&     param4="$(resolveip_to_nftset4 "$param")"
                                [ -z "$param6" ] &&     param6="$(resolveip_to_nftset6 "$param")"
-                               nft4 add element inet "$nftTable" "$nftset4" "{ $param4 }" && ipv4_error=0
-                               nft6 add element inet "$nftTable" "$nftset6" "{ $param6 }" && ipv6_error=0
+                               if [ -z "$param4" ] &&  [ -z "$param6" ]; then
+                                       state add 'errorSummary' 'errorFailedToResolve' "$param"
+                               else
+                                       nft4 add element inet "$nftTable" "$nftset4" "{ $param4 }" && ipv4_error=0
+                                       nft6 add element inet "$nftTable" "$nftset6" "{ $param6 }" && ipv6_error=0
+                               fi
                        fi
                ;;
                add_dnsmasq_element)
@@ -580,24 +594,24 @@ nftset() {
                create)
                        case "$type" in
                                ip|net)
-                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
-                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
+                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
+                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
                                        ;;
                                mac)
-                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ether_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
-                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ether_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
+                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ether_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
+                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ether_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
                                        ;;
                                esac
                ;;
                create_dnsmasq_set)
-                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
-                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
+                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv4_error=0
+                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; counter; flags interval; auto-merge; comment \"$comment\"; }" && ipv6_error=0
                ;;
                create_user_set)
                        case "$type" in
                                ip|net)
-                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; flags interval; auto-merge; policy memory; comment \"$comment\"; }" && ipv4_error=0
-                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; flags interval; auto-merge; policy memory; comment \"$comment\"; }" && ipv6_error=0
+                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ipv4_addr; ${nft_user_set_counter:+counter;} flags interval; auto-merge; policy $nft_user_set_policy; comment \"$comment\"; }" && ipv4_error=0
+                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ipv6_addr; ${nft_user_set_counter:+counter;} flags interval; auto-merge; policy $nft_user_set_policy; comment \"$comment\"; }" && ipv6_error=0
                                        case "$target" in
                                                dst)
                                                        nft add rule inet "$nftTable" "${nftPrefix}_prerouting" ip daddr "@${nftset4}" goto "${nftPrefix}_mark_${mark}" && ipv4_error=0
@@ -610,8 +624,8 @@ nftset() {
                                        esac
                                        ;;
                                mac)
-                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ether_addr; flags interval; auto-merge; policy memory; comment \"$comment\"; }" && ipv4_error=0
-                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ether_addr; flags interval; auto-merge; policy memory; comment \"$comment\"; }" && ipv6_error=0
+                                       nft4 add set inet "$nftTable" "$nftset4" "{ type ether_addr; ${nft_user_set_counter:+counter;} flags interval; auto-merge; policy $nft_user_set_policy; comment \"$comment\"; }" && ipv4_error=0
+                                       nft6 add set inet "$nftTable" "$nftset6" "{ type ether_addr; ${nft_user_set_counter:+counter;} flags interval; auto-merge; policy $nft_user_set_policy; comment \"$comment\"; }" && ipv6_error=0
                                        nft add rule inet "$nftTable" "${nftPrefix}_prerouting" ether saddr "@${nftset4}" goto "${nftPrefix}_mark_${mark}" && ipv4_error=0
                                        nft add rule inet "$nftTable" "${nftPrefix}_prerouting" ether saddr "@${nftset6}" goto "${nftPrefix}_mark_${mark}" && ipv6_error=0
                                        ;;
@@ -657,7 +671,9 @@ nftset() {
        fi
 }
 
+cleanup_rt_tables() { sed -i '/pbr_/d' '/etc/iproute2/rt_tables'; sync; }
 cleanup_dnsmasq() { [ -s "$dnsmasqFile" ] && resolverStoredHash="$(md5sum $dnsmasqFile | awk '{ print $1; }')" && rm "$dnsmasqFile" >/dev/null 2>&1; }
+
 cleanup_main_chains() {
        local i
        for i in $chainsList; do
@@ -1212,8 +1228,14 @@ policy_routing_iptables() {
                                        param4="$param4 -m set $negation --match-set ${ipsPrefix}_${iface}_4_${target}_${type}_${uid} $target"
                                        param6="$param6 -m set $negation --match-set ${ipsPrefix}_${iface}_6_${target}_${type}_${uid} $target"
                                else
-                                       param4="$param4 $negation -s $(resolveip_to_ipt -4 "$value")"
-                                       param6="$param6 $negation -s $(resolveip_to_ipt -6 "$value")"
+                                       local resolvedIP4 resolvedIP6
+                                       resolvedIP4="$(resolveip_to_ipt4 "$value")"
+                                       resolvedIP6="$(resolveip_to_ipt6 "$value")"
+                                       if [ -z "$resolvedIP4" ] && [ -z "$resolvedIP6" ]; then
+                                               state add 'errorSummary' 'errorFailedToResolve' "$value"
+                                       fi
+                                       param4="$param4 $negation -s $resolvedIP4"
+                                       param6="$param6 $negation -s $resolvedIP6"
                                fi
                        fi
                fi
@@ -1255,8 +1277,14 @@ policy_routing_iptables() {
                                        param4="$param4 -m set $negation --match-set ${ipsPrefix}_${iface}_4_${target}_${type}_${uid} $target"
                                        param6="$param6 -m set $negation --match-set ${ipsPrefix}_${iface}_6_${target}_${type}_${uid} $target"
                                else
-                                       param4="$param4 $negation -d $(resolveip_to_ipt -4 "$value")"
-                                       param6="$param6 $negation -d $(resolveip_to_ipt -6 "$value")"
+                                       local resolvedIP4 resolvedIP6
+                                       resolvedIP4="$(resolveip_to_ipt4 "$value")"
+                                       resolvedIP6="$(resolveip_to_ipt6 "$value")"
+                                       if [ -z "$resolvedIP4" ] && [ -z "$resolvedIP6" ]; then
+                                               state add 'errorSummary' 'errorFailedToResolve' "$value"
+                                       fi
+                                       param4="$param4 $negation -d $resolvedIP4"
+                                       param6="$param6 $negation -d $resolvedIP6"
                                fi
                        else
                                local target='dst' type='ip'
@@ -1400,8 +1428,14 @@ policy_routing_nft() {
                                param4="$param4 $ip4Flag daddr $negation @${nftPrefix}_${iface}_4_${target}_${type}_${uid}"
                                param6="$param6 $ip6Flag daddr $negation @${nftPrefix}_${iface}_6_${target}_${type}_${uid}"
                        else
-                               param4="$param4 $ip4Flag daddr $negation {$(resolveip_to_nftset4 "$value")}"
-                               param6="$param6 $ip6Flag daddr $negation {$(resolveip_to_nftset6 "$value")}"
+                               local resolvedIP4 resolvedIP6
+                               resolvedIP4="$(resolveip_to_nftset4 "$value")"
+                               resolvedIP6="$(resolveip_to_nftset6 "$value")"
+                               if [ -z "$resolvedIP4" ] && [ -z "$resolvedIP6" ]; then
+                                       state add 'errorSummary' 'errorFailedToResolve' "$value"
+                               fi
+                               param4="$param4 $ip4Flag daddr $negation { $resolvedIP4 }"
+                               param6="$param6 $ip6Flag daddr $negation { $resolvedIP6 }"
                        fi
                else
                        local target='dst' type='ip'
@@ -1635,6 +1669,7 @@ interface_routing() {
        local action="$1" tid="$2" mark="$3" iface="$4" gw4="$5" dev="$6" gw6="$7" dev6="$8" priority="$9"
        local dscp s=0 i ipv4_error=1 ipv6_error=1
        if [ -z "$tid" ] || [ -z "$mark" ] || [ -z "$iface" ]; then
+               state add 'errorSummary' 'errorInterfaceRoutingEmptyValues'
                return 1
        fi
        case "$action" in
@@ -1758,7 +1793,7 @@ EOF
                        $ip_full rule del fwmark "${mark}/${fw_mask}" table "$tid" >/dev/null 2>&1
                        if ! is_netifd_table "$iface"; then
                                $ip_full route flush table "$tid" >/dev/null 2>&1
-                               sed -i "/${ipTablePrefix}_${iface}/d" '/etc/iproute2/rt_tables'
+                               sed -i "/${ipTablePrefix}_${iface}\$/d" '/etc/iproute2/rt_tables'
                                sync
                        fi
                        return "$s"
@@ -1936,6 +1971,11 @@ user_file_process() {
        fi
 }
 
+boot() {
+       ubus -t 30 wait_for network.interface 2>/dev/null
+       rc_procd start_service 'on_boot'
+}
+
 on_firewall_reload() { 
        if [ -z "$(ubus_get_status 'gateways')" ]; then # service is not running, do not start it on firewall reload
                logger -t "$packageName" "Reload on firewall action aborted: service not running."
@@ -2057,6 +2097,7 @@ start_service() {
                        cleanup_main_chains
                        cleanup_sets
                        cleanup_marking_chains
+                       cleanup_rt_tables
                        if ! is_nft; then
                                for i in $chainsList; do
                                        i="$(str_to_upper "$i")"
@@ -2159,6 +2200,7 @@ stop_service() {
        config_load 'network'
        config_foreach interface_process 'interface' 'destroy'
        interface_process_tor 'tor' 'destroy'
+       cleanup_rt_tables
        output 1 "\\n"
        ip route flush cache
        unset ifaceMark
@@ -2387,7 +2429,9 @@ load_validate_config() {
                'wan_ip_rules_priority:uinteger:30000' \
                'rule_create_option:or("", "add", "insert"):add' \
                'procd_reload_delay:integer:0' \
-               'webui_supported_protocol:list(string)'
+               'webui_supported_protocol:list(string)' \
+               'nft_user_set_policy:or("", "memory", "performance")'\
+               'nft_user_set_counter:bool:0'
 }
 
 # shellcheck disable=SC2120
index c5b6865e19f0b3122bb5055dc3cae95daec2659d..f062765ca67a72bc49be037af7885cbd82a5e9f5 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rp-pppoe
-PKG_VERSION:=3.14
-PKG_RELEASE:=3
+PKG_VERSION:=3.15
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dianne.skoll.ca/projects/rp-pppoe/download
-PKG_HASH:=7825232f64ab4d618ef074d62d145ae43d6edc91b9a718c6130a4742bac40e2a
+PKG_HASH:=b1f318bc7e4e5b0fd8a8e23e8803f5e6e43165245a5a10a7162a92a6cf17829a
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.0-or-later
index 0d4a341f8c8695b1cdbc4016453c8f8a88c9a305..013c35b654966c5f60848df6dab2380c2fb5027a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/Makefile.in
 +++ b/src/Makefile.in
-@@ -72,7 +72,7 @@ pppoe-sniff: pppoe-sniff.o if.o common.o
+@@ -73,7 +73,7 @@ pppoe-sniff: pppoe-sniff.o if.o common.o
        @CC@ -o $@ $^ $(LDFLAGS)
  
  pppoe-server: pppoe-server.o if.o debug.o common.o md5.o libevent/libevent.a @PPPOE_SERVER_DEPS@
index 1221c2b4b9fddd2f740c3baaf079677ee243ecc8..d9a63da6a47038b7d1ae81d4edfb1d0b78275424 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/Makefile.in
 +++ b/src/Makefile.in
-@@ -140,7 +140,8 @@ plugin/plugin.o: plugin.c
+@@ -141,7 +141,8 @@ plugin/plugin.o: plugin.c
        @CC@ -DPLUGIN=1 '-DRP_VERSION="$(RP_VERSION)"' $(CFLAGS) -I$(PPPD_INCDIR) -c -o $@ -fPIC $<
  
  plugin/libplugin.a: plugin/discovery.o plugin/if.o plugin/common.o plugin/debug.o
index b8afee5d772f980962dfff9e90ec544a1f0fa83b..1492db09008edfb4c53af1dc3b4783faa98538b5 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=safe-search
 PKG_VERSION:=2.0.1
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=11
 PKG_LICENSE:=MIT
 PKG_MAINTAINER:=Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
 
index 063e84cc38400317f06d5cb69064a486a7c2f76c..e7f4d052bd89f0b4cc3f7be60ddcb83449bed79a 100644 (file)
@@ -5,6 +5,8 @@
 #
 uci del_list dhcp.@dnsmasq[0].addnhosts=/etc/safe-search/enabled
 uci add_list dhcp.@dnsmasq[0].addnhosts=/etc/safe-search/enabled
+uci del_list dhcp.@dnsmasq[0].addn_mount=/etc/safe-search/available
+uci add_list dhcp.@dnsmasq[0].addn_mount=/etc/safe-search/available
 uci commit dhcp
 
 /usr/sbin/safe-search-maintenance
index 725ec66b8fef5535ed2fa02e18e4d4451342ee66..de1ca0e0522de430036c605ede7c9487726d3dca 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=simple-adblock
 PKG_VERSION:=1.9.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 PKG_LICENSE:=GPL-3.0-or-later
 
index e57a03b45b22d4c72aa379cc894212c02f6fa31a..fb6e99588afd38043384848f63bbf2faab848e6e 100644 (file)
@@ -790,7 +790,7 @@ download_lists() {
        for hf in $blocked_domain $canaryDomains; do echo "$hf" | sed "$domainsFilter" >> $B_TMP; done
        allowed_domain="${allowed_domain}
 $(cat $A_TMP)"
-       for hf in ${allowed_domain}; do hf="$(echo "$hf" | sed 's/\./\\./g')"; allow_filter="$allow_filter/^(.*\.)?${hf}$/d;"; done
+       for hf in ${allowed_domain}; do hf="$(echo "$hf" | sed 's/\./\\./g')"; allow_filter="$allow_filter/(^|\.)${hf}$/d;"; done
 
        [ ! -s "$B_TMP" ] && return 1
 
@@ -966,7 +966,7 @@ adb_allow() {
                        for c in $string; do
                                output 2 "  $c "
                                hf="$(echo "$c" | sed 's/\./\\./g')"
-                               if sed -i "/^${hf}$/d;/\.${hf}$/d;" "$outputFile" && \
+                               if sed -i "/(^|\.)${hf}$/d;" "$outputFile" && \
                                        uci_add_list_if_new "${packageName}" 'config' 'allowed_domain' "$c"; then
                                                output_ok
                                else
index 698f28c4a7a88732da77debc8394e2eb8317e6cd..2bca15ed1dbe0fb13bfff047c1d8a501e81bbb72 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=snort3
-PKG_VERSION:=3.1.50.0
+PKG_VERSION:=3.1.52.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
-PKG_HASH:=983497578587c5b1291994608fef70700d7f251461e79ac897751bba57cc56b5
+PKG_HASH:=351ef4295b54d750ea557bdd5a10c8a04d1edc35003b0d84620451c998591117
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=GPL-2.0-only
index 2b4685d5628da9989c3d618f9968c79b17f7604b..7254f2eaa82516adc5bf183711d669de1ba94c11 100644 (file)
@@ -1,13 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=snowflake
-PKG_VERSION:=2.4.1
+PKG_VERSION:=2.4.2
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=https://git.torproject.org/pluggable-transports/snowflake.git
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=91f32c3f56718ae35641c734aa061be138eb7c0d1bc88596b42e731e30aaa27a
+PKG_MIRROR_HASH:=b6e47a50558ed4f5a4b5f9bc25d6aaf7da168b305dd9b52b3a92ecb028d883fc
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index b9b7ba881cbbd898f370f065732ee92de75bc8d7..2f3ca78f4f51c48a39d5fbee80d9d8f79e48eb1d 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=socat
-PKG_VERSION:=1.7.4.1
+PKG_VERSION:=1.7.4.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.dest-unreach.org/socat/download
-PKG_HASH:=3faca25614e89123dff5045680549ecef519d02e331aaf3c4f5a8f6837c675e9
+PKG_HASH:=fbd42bd2f0e54a3af6d01bdf15385384ab82dbc0e4f1a5e153b3e0be1b6380ac
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=GPL-2.0-or-later OpenSSL
index 4fd6fc5df29ec2d0cfb1f4077933de8f9d111c97..995c167c7019752ec5e4d2814e9a1ea560517d79 100644 (file)
@@ -13,9 +13,9 @@ PKG_LICENSE:=MIT
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/gargargar/udphp.git
-PKG_SOURCE_DATE:=2022-12-30
-PKG_SOURCE_VERSION:=e4ab512ab5ba3955fd5a23a76ffaae00f627ec3c
-PKG_MIRROR_HASH:=68ce9885b7fc1e10ff2afbe003dd65489d3e64ca0212914c513469e581127974
+PKG_SOURCE_DATE:=2023-01-13
+PKG_SOURCE_VERSION:=7c0fc5fcf3b807b053c5906bdd8c2acb244c1cbd
+PKG_MIRROR_HASH:=19693aef4020e58955dba25f28b76a396a4c1fbb7ef7464cfaf45405d9eb0c5e
 
 include $(INCLUDE_DIR)/package.mk
 
index 115be30644c4076ea0849d2514430fa83d87ba1e..14fa12fc01b2fec6bf6eae8850417dbafe764738 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=v2ray-core
-PKG_VERSION:=5.2.0
+PKG_VERSION:=5.2.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/v2fly/v2ray-core/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=3594fcec033706cbc94ff76ecf86a44f025164baa5da9b2286dea32f2b6029f9
+PKG_HASH:=97bc872e798fed51c23c39f8f63ee25984658e2b252b0ec2c8ec469c00a4d77a
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 9a98f37dbe39a04d4c90bb7f5b68c47c42e9593f..bb8d338275188558255eb0829a4e59df1f199d46 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfrpc
-PKG_VERSION:=1.11.587
+PKG_VERSION:=2.1.606
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/liudf0716/xfrpc.git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=da58e702d3b451e1b5a3d59ac3842cc424f636ca879c19ebb94cce8aa8dde3bb
+PKG_MIRROR_HASH:=2f9f98fde54f66a6c562356f66d0abd3ec41fcd6833915831378a37398ff2cc5
 
 PKG_MAINTAINER:=Dengfeng Liu <liudf0716@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
index 1d52a1b5e00544eae222da331c220e12a47645bf..9ac1f1cdd6becb415978852c382949e737bc6274 100644 (file)
@@ -9,11 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xinetd
 PKG_VERSION:=2.3.15
-PKG_RELEASE:=14
+PKG_RELEASE:=15
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/xinetd-org/xinetd/archive
-PKG_HASH:=bf4e060411c75605e4dcbdf2ac57c6bd9e1904470a2f91e01ba31b50a80a5be3
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=$(PKG_NAME)-2-3-15
+PKG_SOURCE_URL:=https://github.com/xinetd-org/xinetd
+PKG_MIRROR_HASH:=ef2258416a278ec7aebaa1e3501c0b59f5ae5e0ea7f1f0220b20143eb208881f
 
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
 PKG_LICENSE:=xinetd
index 3f08da07e5cf6555f5557764bdfe3754cd839456..b330a8ae1418dc9b9897bb905d3b4e54ca519d69 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mpd
-PKG_VERSION:=0.23.9
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=0.23.11
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.23
-PKG_HASH:=2becaba980402e8dc7972ccc3476e493b7ae2eeb720d31fa6712472ed48e9f2d
+PKG_HASH:=edb4e7a8f9dff238b5610f9e2461940ea98c727a5462fafb1cdf836304dfdca9
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/sound/mpd/patches/010-gcc12.patch b/sound/mpd/patches/010-gcc12.patch
new file mode 100644 (file)
index 0000000..a3b83b5
--- /dev/null
@@ -0,0 +1,30 @@
+From e4b055eb6d08c5c8f8d85828ce4005d410e462cb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Thu, 1 Dec 2022 08:29:23 +0700
+Subject: [PATCH] v0.23.x: RemoteTagCache: add missing include
+
+Fix build with Boost 1.81.0. `<array>` was included by one of those boost headers,
+however, it's no longer included as of Boost 1.81.0.
+
+`master` doesn't use `std::array` in this file.
+
+While we're at it, add all necessary inclusion files.
+---
+ src/RemoteTagCache.hxx | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/src/RemoteTagCache.hxx
++++ b/src/RemoteTagCache.hxx
+@@ -28,7 +28,11 @@
+ #include <boost/intrusive/list.hpp>
+ #include <boost/intrusive/unordered_set.hpp>
++#include <array>
++#include <functional>
++#include <memory>
+ #include <string>
++#include <utility>
+ class RemoteTagCacheHandler;
index 563f83ee45180af7c3a8aee048feb9b946dde1c0..10e5a4c1db7dcbd7c88e2ede2aec80cb7ac0581c 100644 (file)
@@ -8,12 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acpica-unix
-PKG_VERSION:=20211217
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=20221020
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://acpica.org/sites/$(patsubst %-unix,%,$(PKG_NAME))/files/$(PKG_SOURCE_URL)
-PKG_HASH:=2511f85828820d747fa3e2c3433d3a38c22db3d9c2fd900e1a84eb4173cb5992
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar_0.gz
+PKG_CAT:=gzip -dc
+PKG_SOURCE_URL:=https://acpica.org/sites/$(patsubst %-unix,%,$(PKG_NAME))/files/
+PKG_HASH:=33a2e394aca0ca57d4018afe3da340dfad5eb45b1b9300e81dd595fda07cf1c5
 PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
 
 PKG_LICENSE:=GPL-2.0
diff --git a/utils/acpica-unix/patches/0001-ACPI_CAST_PTR-cast-through-void.patch b/utils/acpica-unix/patches/0001-ACPI_CAST_PTR-cast-through-void.patch
new file mode 100644 (file)
index 0000000..71510df
--- /dev/null
@@ -0,0 +1,22 @@
+From 0f814783ef9ed3a50e15cab08579218ec45b4640 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
+Date: Sat, 21 May 2022 12:15:16 +0200
+Subject: [PATCH 1/3] ACPI_CAST_PTR: cast through "void *"
+
+Not all pointer are castable to integers directly and ACPI_UINTPTR_T is
+not guaranteed to be "void *".
+---
+ source/include/actypes.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/source/include/actypes.h
++++ b/source/include/actypes.h
+@@ -649,7 +649,7 @@ typedef UINT64
+ /* Pointer manipulation */
+-#define ACPI_CAST_PTR(t, p)             ((t *) (ACPI_UINTPTR_T) (p))
++#define ACPI_CAST_PTR(t, p)             ((t *) (ACPI_UINTPTR_T) (void *) (p))
+ #define ACPI_CAST_INDIRECT_PTR(t, p)    ((t **) (ACPI_UINTPTR_T) (p))
+ #define ACPI_ADD_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) + (ACPI_SIZE)(b)))
+ #define ACPI_SUB_PTR(t, a, b)           ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) - (ACPI_SIZE)(b)))
diff --git a/utils/acpica-unix/patches/0002-Linux-non-kernel-Use-use-uintptr_t-for-ACPI_UINTPTR_.patch b/utils/acpica-unix/patches/0002-Linux-non-kernel-Use-use-uintptr_t-for-ACPI_UINTPTR_.patch
new file mode 100644 (file)
index 0000000..92fb3cd
--- /dev/null
@@ -0,0 +1,37 @@
+From 6b7a78c41c04772a30923c8c0ba71770d55ac815 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
+Date: Sat, 21 May 2022 12:17:14 +0200
+Subject: [PATCH 2/3] Linux non-kernel: Use use uintptr_t for ACPI_UINTPTR_T
+
+---
+ source/include/platform/aclinux.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/source/include/platform/aclinux.h
++++ b/source/include/platform/aclinux.h
+@@ -168,6 +168,8 @@
+ #define ACPI_USE_DO_WHILE_0
+ #define ACPI_IGNORE_PACKAGE_RESOLUTION_ERRORS
++#define ACPI_UINTPTR_T uintptr_t
++
+ #ifdef __KERNEL__
+@@ -252,8 +254,6 @@
+ #define ACPI_SPINLOCK               spinlock_t *
+ #define ACPI_CPU_FLAGS              unsigned long
+-#define ACPI_UINTPTR_T              uintptr_t
+-
+ #define ACPI_TO_INTEGER(p)          ((uintptr_t)(p))
+ #define ACPI_OFFSET(d, f)           offsetof(d, f)
+@@ -311,6 +311,7 @@
+ #ifdef ACPI_USE_STANDARD_HEADERS
+ #include <unistd.h>
++#include <stdint.h>
+ #endif
+ /* Define/disable kernel-specific declarators */
diff --git a/utils/acpica-unix/patches/0003-debug-use-UINT_PTR_T-to-store-stack-boundaries.patch b/utils/acpica-unix/patches/0003-debug-use-UINT_PTR_T-to-store-stack-boundaries.patch
new file mode 100644 (file)
index 0000000..b0c1bef
--- /dev/null
@@ -0,0 +1,85 @@
+From 2185f7d5d7a5650dbcb6a05e9de41f340cd3b865 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
+Date: Sat, 21 May 2022 12:17:58 +0200
+Subject: [PATCH 3/3] debug: use UINT_PTR_T to store stack boundaries
+
+GCC12 complains about storing invalid pointers, store them as integers
+instead.
+
+obj/acpiexec ../../../source/components/utilities/utdebug.c
+../../../source/components/utilities/utdebug.c: In function 'AcpiUtInitStackPtrTrace':
+../../../source/components/utilities/utdebug.c:188:31: error: storing the address of local variable 'CurrentSp' in 'AcpiGbl_EntryStackPointer' [-Werror=dangling-pointer=]
+  188 |     AcpiGbl_EntryStackPointer = &CurrentSp;
+      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
+../../../source/components/utilities/utdebug.c:185:29: note: 'CurrentSp' declared here
+  185 |     ACPI_SIZE               CurrentSp;
+      |                             ^~~~~~~~~
+
+Fixes #771
+---
+ source/components/debugger/dbstats.c  | 4 ++--
+ source/components/utilities/utdebug.c | 6 +++---
+ source/components/utilities/utinit.c  | 2 +-
+ source/include/acglobal.h             | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/source/components/debugger/dbstats.c
++++ b/source/components/debugger/dbstats.c
+@@ -647,8 +647,8 @@ AcpiDbDisplayStatistics (
+             AcpiGbl_EntryStackPointer, AcpiGbl_LowestStackPointer);
+         AcpiOsPrintf ("\nSubsystem Stack Usage:\n\n");
+-        AcpiOsPrintf ("Entry Stack Pointer          %p\n", AcpiGbl_EntryStackPointer);
+-        AcpiOsPrintf ("Lowest Stack Pointer         %p\n", AcpiGbl_LowestStackPointer);
++        AcpiOsPrintf ("Entry Stack Pointer          %p\n", ACPI_TO_POINTER(AcpiGbl_EntryStackPointer));
++        AcpiOsPrintf ("Lowest Stack Pointer         %p\n", ACPI_TO_POINTER(AcpiGbl_LowestStackPointer));
+         AcpiOsPrintf ("Stack Use                    %X (%u)\n", Temp, Temp);
+         AcpiOsPrintf ("Deepest Procedure Nesting    %u\n", AcpiGbl_DeepestNesting);
+ #endif
+--- a/source/components/utilities/utdebug.c
++++ b/source/components/utilities/utdebug.c
+@@ -185,7 +185,7 @@ AcpiUtInitStackPtrTrace (
+     ACPI_SIZE               CurrentSp;
+-    AcpiGbl_EntryStackPointer = &CurrentSp;
++    AcpiGbl_EntryStackPointer = ACPI_TO_INTEGER(&CurrentSp);
+ }
+@@ -208,9 +208,9 @@ AcpiUtTrackStackPtr (
+     ACPI_SIZE               CurrentSp;
+-    if (&CurrentSp < AcpiGbl_LowestStackPointer)
++    if (ACPI_TO_INTEGER(&CurrentSp) < AcpiGbl_LowestStackPointer)
+     {
+-        AcpiGbl_LowestStackPointer = &CurrentSp;
++        AcpiGbl_LowestStackPointer = ACPI_TO_INTEGER(&CurrentSp);
+     }
+     if (AcpiGbl_NestingLevel > AcpiGbl_DeepestNesting)
+--- a/source/components/utilities/utinit.c
++++ b/source/components/utilities/utinit.c
+@@ -359,7 +359,7 @@ AcpiUtInitGlobals (
+ #endif
+ #ifdef ACPI_DEBUG_OUTPUT
+-    AcpiGbl_LowestStackPointer          = ACPI_CAST_PTR (ACPI_SIZE, ACPI_SIZE_MAX);
++    AcpiGbl_LowestStackPointer          = ACPI_SIZE_MAX;
+ #endif
+ #ifdef ACPI_DBG_TRACK_ALLOCATIONS
+--- a/source/include/acglobal.h
++++ b/source/include/acglobal.h
+@@ -332,8 +332,8 @@ extern const ACPI_PREDEFINED_NAMES
+ ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeCount);
+ ACPI_GLOBAL (UINT32,                    AcpiGbl_CurrentNodeSize);
+ ACPI_GLOBAL (UINT32,                    AcpiGbl_MaxConcurrentNodeCount);
+-ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_EntryStackPointer);
+-ACPI_GLOBAL (ACPI_SIZE *,               AcpiGbl_LowestStackPointer);
++ACPI_GLOBAL (ACPI_UINTPTR_T,            AcpiGbl_EntryStackPointer);
++ACPI_GLOBAL (ACPI_UINTPTR_T,            AcpiGbl_LowestStackPointer);
+ ACPI_GLOBAL (UINT32,                    AcpiGbl_DeepestNesting);
+ ACPI_INIT_GLOBAL (UINT32,               AcpiGbl_NestingLevel, 0);
+ #endif
index f02285e8d6907d18fb747643f43df008d55ffef9..14f9480edb0e9f7964f06717a089a1646ee3d651 100644 (file)
@@ -12,7 +12,7 @@ PKG_VERSION:=1.06.95
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
-PKG_SOURCE_URL:=ftp://ftp.debian.org/debian/pool/main/b/bc
+PKG_SOURCE_URL:=@DEBIAN/pool/main/b/bc
 PKG_HASH:=5e1471869dd27ba4120dd3942d2f4ec6646cf917fb056be9ae0d3a8259668d47
 
 PKG_MAINTAINER:=Bruno Randolf <br1@einfach.org>
index 588a2f1a2f5e33d28830359842eacf12e4c653a4..c585593cc7b290030769490f895ecda81e7a2b8e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bluez
-PKG_VERSION:=5.64
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=5.66
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
-PKG_HASH:=ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34
+PKG_HASH:=39fea64b590c9492984a0c27a89fc203e1cdc74866086efb8f4698677ab2b574
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
@@ -47,6 +47,14 @@ $(call Package/bluez/Default)
   DEPENDS:=+bluez-libs
 endef
 
+define Package/bluez-utils-btmon
+$(call Package/bluez/Default)
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE+= utilities
+  DEPENDS:=+bluez-libs +glib2
+endef
+
 define Package/bluez-utils-extra
 $(call Package/bluez/Default)
   SECTION:=utils
@@ -111,10 +119,8 @@ endef
 define Package/bluez-utils/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/bdaddr $(1)/usr/bin/
-#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/
@@ -127,6 +133,11 @@ define Package/bluez-utils/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/
 endef
 
+define Package/bluez-utils-btmon/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
+endef
+
 define Package/bluez-utils-extra/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/
@@ -153,5 +164,6 @@ endef
 
 $(eval $(call BuildPackage,bluez-libs))
 $(eval $(call BuildPackage,bluez-utils))
+$(eval $(call BuildPackage,bluez-utils-btmon))
 $(eval $(call BuildPackage,bluez-utils-extra))
 $(eval $(call BuildPackage,bluez-daemon))
index 3df634110320f0f9bccd8b797d3285715802b2d0..a2035304a3a725e782c663f0ad7e1608e4f949e2 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware
 
 --- a/tools/hciattach_bcm43xx.c
 +++ b/tools/hciattach_bcm43xx.c
-@@ -354,11 +354,8 @@ int bcm43xx_init(int fd, int def_speed,
+@@ -350,11 +350,8 @@ int bcm43xx_init(int fd, int def_speed,
                return -1;
  
        if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
@@ -23,7 +23,7 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware
                if (bcm43xx_load_firmware(fd, fw_path))
                        return -1;
  
-@@ -368,6 +365,7 @@ int bcm43xx_init(int fd, int def_speed,
+@@ -364,6 +361,7 @@ int bcm43xx_init(int fd, int def_speed,
                        return -1;
                }
  
index 670d4304c4def9e01a05a52b34e0f2dbfcf79354..cce53b3295ca37da06e2b6ee4290fe06a8c02a92 100644 (file)
@@ -7,14 +7,14 @@ Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware
  tools/hciattach_bcm43xx.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
---- a/tools/hciattach_bcm43xx.c
-+++ b/tools/hciattach_bcm43xx.c
-@@ -31,7 +31,7 @@
- #include "hciattach.h"
+--- a/tools/hciattach.h
++++ b/tools/hciattach.h
+@@ -41,7 +41,7 @@
+ #define HCI_UART_VND_DETECT   5
  
  #ifndef FIRMWARE_DIR
 -#define FIRMWARE_DIR "/etc/firmware"
 +#define FIRMWARE_DIR "/lib/firmware/brcm"
  #endif
  
- #define FW_EXT ".hcd"
+ int read_hci_event(int fd, unsigned char *buf, int size);
index f60001c0df0ab5612ae82ddc00e7c1632a1a4774..e58b504b30a98c420f1b93f186ae0daa2156af91 100644 (file)
@@ -1,7 +1,7 @@
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -3479,7 +3479,7 @@ unit_tests = $(am__append_55) unit/test-
- @CLIENT_TRUE@                                 client/admin.c
+@@ -3598,7 +3598,7 @@ unit_tests = $(am__append_62) unit/test-
+ @CLIENT_TRUE@                                 client/player.h client/player.c
  
  @CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
 -@CLIENT_TRUE@                         $(GLIB_LIBS) $(DBUS_LIBS) -lreadline
@@ -9,16 +9,16 @@
  
  @ZSH_COMPLETIONS_TRUE@zshcompletiondir = $(ZSH_COMPLETIONDIR)
  @ZSH_COMPLETIONS_TRUE@dist_zshcompletion_DATA = completion/zsh/_bluetoothctl
-@@ -3722,7 +3722,7 @@ unit_tests = $(am__append_55) unit/test-
+@@ -3877,7 +3877,7 @@ unit_tests = $(am__append_62) unit/test-
  
- @MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
- @MESH_TRUE@@TOOLS_TRUE@                               lib/libbluetooth-internal.la \
--@MESH_TRUE@@TOOLS_TRUE@                               $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline
-+@MESH_TRUE@@TOOLS_TRUE@                               $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses
+ @DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
+ @DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@                              lib/libbluetooth-internal.la \
+-@DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@                              $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline
++@DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@                              $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses
  
  @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgclient_SOURCES = tools/mesh-cfgclient.c \
  @MESH_TRUE@@TOOLS_TRUE@                               tools/mesh/model.h tools/mesh/config-model.h \
-@@ -3736,7 +3736,7 @@ unit_tests = $(am__append_55) unit/test-
+@@ -3891,7 +3891,7 @@ unit_tests = $(am__append_62) unit/test-
  @MESH_TRUE@@TOOLS_TRUE@                               mesh/crypto.h mesh/crypto.c
  
  @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgclient_LDADD = lib/libbluetooth-internal.la src/libshared-ell.la \
@@ -27,7 +27,7 @@
  
  @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgtest_SOURCES = tools/mesh-cfgtest.c
  @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgtest_LDADD = lib/libbluetooth-internal.la src/libshared-ell.la \
-@@ -3793,7 +3793,7 @@ unit_tests = $(am__append_55) unit/test-
+@@ -3948,7 +3948,7 @@ unit_tests = $(am__append_62) unit/test-
  @READLINE_TRUE@                                               tools/obex-client-tool.c
  
  @READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
@@ -36,8 +36,8 @@
  
  @READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
  @READLINE_TRUE@                                               tools/obex-server-tool.c
-@@ -3804,15 +3804,15 @@ unit_tests = $(am__append_55) unit/test-
- @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c
+@@ -3959,15 +3959,15 @@ unit_tests = $(am__append_62) unit/test-
+ @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c client/player.c
  @READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
  @READLINE_TRUE@                               src/libshared-glib.la \
 -@READLINE_TRUE@                               $(GLIB_LIBS) $(DBUS_LIBS) -lreadline
@@ -55,7 +55,7 @@
  
  @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \
  @DEPRECATED_TRUE@@READLINE_TRUE@                              attrib/gattrib.c btio/btio.c \
-@@ -3821,7 +3821,7 @@ unit_tests = $(am__append_55) unit/test-
+@@ -3976,7 +3976,7 @@ unit_tests = $(am__append_62) unit/test-
  @DEPRECATED_TRUE@@READLINE_TRUE@                              client/display.h
  
  @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \
@@ -64,7 +64,7 @@
  
  @CUPS_TRUE@cupsdir = $(libdir)/cups/backend
  @CUPS_TRUE@profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \
-@@ -3841,7 +3841,7 @@ unit_tests = $(am__append_55) unit/test-
+@@ -3996,7 +3996,7 @@ unit_tests = $(am__append_62) unit/test-
  @BTPCLIENT_TRUE@tools_btpclient_DEPENDENCIES = lib/libbluetooth-internal.la $(ell_dependencies)
  @BTPCLIENT_TRUE@tools_btpclientctl_SOURCES = tools/btpclientctl.c client/display.c
  @BTPCLIENT_TRUE@tools_btpclientctl_LDADD = src/libshared-mainloop.la src/libshared-glib.la \
index 3252ecf41c7a2d70b89baa8f790807942d97003f..b79667bb0fbc0958ea0d6c00069a52dd85dbc93a 100644 (file)
@@ -34,7 +34,7 @@ This commit prevents the call to btd_adv_manager_refresh for non-LE devices.
 
 --- a/src/adapter.c
 +++ b/src/adapter.c
-@@ -601,7 +601,9 @@ static void settings_changed(struct btd_
+@@ -634,7 +634,9 @@ static void settings_changed(struct btd_
                 */
                if (!adapter->discovery_discoverable)
                        store_adapter_info(adapter);
diff --git a/utils/bluez/patches/210-util-define-MAX_INPUT.patch b/utils/bluez/patches/210-util-define-MAX_INPUT.patch
new file mode 100644 (file)
index 0000000..e2af0bf
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -23,6 +23,9 @@
+ #include <dirent.h>
+ #include <limits.h>
+ #include <string.h>
++#ifndef MAX_INPUT
++#define MAX_INPUT _POSIX_MAX_INPUT
++#endif
+ #ifdef HAVE_SYS_RANDOM_H
+ #include <sys/random.h>
index 85d9721809510bba4c172e383319602f50307927..7a1b64a7f54b6872187c26e3d9173f056b8e3149 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=crun
 PKG_VERSION:=1.7.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/containers/crun.git
@@ -26,7 +26,7 @@ define Package/crun
   CATEGORY:=Utilities
   TITLE:=crun
   URL:=https://github.com/containers/crun
-  DEPENDS:=@!arc +libseccomp +libcap
+  DEPENDS:=@!arc +libseccomp +libcap +libgcrypt
 endef
 
 define Package/crun/description
index 69268008b7ee35bbfd37a6504c8e4ff41d2fa296..65180fad6ba11bc25f9f7588364ff4cdbff62a3f 100644 (file)
@@ -38,8 +38,8 @@ MAKE_VARS += \
        GOPATH=$(GO_PKG_BUILD_DIR) \
        GOCACHE=$(GO_BUILD_CACHE_DIR) \
        GOROOT_FINAL=$(GO_TARGET_ROOT) \
-       CC=$(TARGET_CC) \
-       CXX=$(TARGET_CXX) \
+       CC="$(TARGET_CC)" \
+       CXX="$(TARGET_CXX)" \
        $(GO_PKG_VARS)
 MAKE_FLAGS += \
        COMMIT=$(PKG_SOURCE_VERSION)
diff --git a/utils/efibootmgr/Makefile b/utils/efibootmgr/Makefile
new file mode 100644 (file)
index 0000000..fc53f87
--- /dev/null
@@ -0,0 +1,55 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=efibootmgr
+PKG_VERSION:=18
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/rhboot/efibootmgr.git
+PKG_SOURCE_DATE:=2022-11-12
+PKG_SOURCE_VERSION:=1904f9cd5a48207d49e393ac8de824f54ccfb697
+PKG_MIRROR_HASH:=0355e00bb54d468ecbaa106aa703dd389f2f2f4c7b7afb78a258cec10d75f78d
+
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=OSkari Rauta <oskari.rauta@gmail.com>
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/efibootmgr
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Application to modify the EFI Boot Manager
+  DEPENDS:=@TARGET_x86_64 +efivar +libpopt
+  URL:=https://github.com/rhboot/efibootmgr
+endef
+
+define Package/efibootmgr/description
+  This is efibootmgr, a Linux user-space application to modify the
+  Intel Extensible Firmware Interface (EFI) Boot Manager.
+  This application can create and destroy boot entries, change
+  the boot order, change the next running boot option, and more.
+
+  Details on the EFI Boot Manager are available from the
+  EFI Specification, v1.02 or above, available from:
+  http://www.uefi.org
+
+  Note: efibootmgr requires either the efivarfs or the legacy
+  efivars kernel module to be loaded prior to use.
+endef
+
+MAKE_VARS += \
+       EFIDIR="/boot/EFI" \
+       PCDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
+       EXTRAINCDIR="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/efivar" \
+       EXTRALIBDIR="-L$(STAGING_DIR)/usr/lib"
+
+define Package/efibootmgr/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{efibootdump,efibootmgr} $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,efibootmgr))
index 8f0c51ba47cfe1dfac3ada3b00d16025aab6a77d..86077b5eb7a90bbab48bc16268276410cfd2459b 100644 (file)
@@ -8,12 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=evtest
-PKG_VERSION:=1.34
-PKG_RELEASE:=3
+PKG_VERSION:=1.35
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://cgit.freedesktop.org/evtest/snapshot
-PKG_HASH:=e49f1f160b30c8f7c2a4caef5ab655f1caf816483d19fdedd6db2d251d7ab80e
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://gitlab.freedesktop.org/libevdev/evtest
+PKG_MIRROR_HASH:=0a2599d92a6915ecedf43c341917fb6f332ffd3967352a2458acf5290167813e
 
 PKG_MAINTAINER:=Pushpal Sidhu <psidhu.devel@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/utils/evtest/patches/010-musl.patch b/utils/evtest/patches/010-musl.patch
deleted file mode 100644 (file)
index 647c9dc..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-From 12d5ea5ca2d9a47a1cab06caf2b36967667a3daf Mon Sep 17 00:00:00 2001
-From: Leo <thinkabit.ukim@gmail.com>
-Date: Sun, 24 Nov 2019 20:58:20 +0100
-Subject: [PATCH] Add missing include of limits.h for PATH_MAX
-
----
- evtest.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/evtest.c
-+++ b/evtest.c
-@@ -59,6 +59,7 @@
- #include <sys/time.h>
- #include <sys/types.h>
- #include <unistd.h>
-+#include <limits.h> /* PATH_MAX */
- #define BITS_PER_LONG (sizeof(long) * 8)
- #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
diff --git a/utils/evtest/patches/020-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/utils/evtest/patches/020-Fix-build-on-32bit-arches-with-64bit-time_t.patch
deleted file mode 100644 (file)
index 3fcb252..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 648f5c1a9e07843e185782d207bc1bcbe6586f6e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Nov 2019 11:58:58 -0800
-Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
-
-time element is deprecated on new input_event structure in kernel's
-input.h [1]
-
-[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- evtest.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
---- a/evtest.c
-+++ b/evtest.c
-@@ -61,6 +61,11 @@
- #include <unistd.h>
- #include <limits.h> /* PATH_MAX */
-+#ifndef input_event_sec
-+#define input_event_sec time.tv_sec
-+#define input_event_usec time.tv_usec
-+#endif
-+
- #define BITS_PER_LONG (sizeof(long) * 8)
- #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
- #define OFF(x)  ((x)%BITS_PER_LONG)
-@@ -1140,7 +1145,7 @@ static int print_events(int fd)
-                       type = ev[i].type;
-                       code = ev[i].code;
--                      printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
-+                      printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec);
-                       if (type == EV_SYN) {
-                               if (code == SYN_MT_REPORT)
index f3af5d7bf549c4488263d2087d80f22f2ac40d24..6fee21da1f2a1cd4713353de852803012e2acea7 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=flashrom
-PKG_VERSION:=1.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.2.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.flashrom.org/releases
-PKG_HASH:=e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b
+PKG_HASH:=89a7ff5beb08c89b8795bbd253a51b9453547a864c31793302296b56bbc56d65
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-v$(PKG_VERSION)
 
 PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
index 9eab1b68139fad323c1835dddbad33a9f0d28894..5eb6f81e850f457513992321439f041195948452 100644 (file)
@@ -8,16 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lrzsz
-PKG_VERSION:=0.12.20
-PKG_RELEASE:=3
+PKG_VERSION:=0.12.21
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://ohse.de/uwe/releases/
-PKG_HASH:=c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1
+PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
+PKG_SOURCE_URL:=@DEBIAN/pool/main/l/lrzsz/
+PKG_HASH:=3262e5df47b108d33e184ff3bf5af14ddca1ac15118ac4ed9171a57c1593ae00
+PKG_BUILD_DIR=$(BUILD_DIR)/lrzsz-990823
 
 PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:lrzsz_project
 
 PKG_INSTALL:=1
 
@@ -26,15 +28,24 @@ include $(INCLUDE_DIR)/package.mk
 define Package/lrzsz
   SECTION:=utils
   CATEGORY:=Utilities
-  TITLE:=X, Y and Z-modem protocols
+  TITLE:=Tools for zmodem/xmodem/ymodem file transfer
   URL:=https://ohse.de/uwe/software/lrzsz.html
 endef
 
 define Package/lrzsz/description
-       Transfer files in your login sessions.
-       Very leightweight and straight forward.
-       You just need a terminal client that can do
-       either X, Y or Z-modem file transfers.
+  lrzsz is a cosmetically modified zmodem/ymodem/xmodem package built
+  from the public-domain version of Chuck Forsberg's rzsz package.
+
+  These programs use error correcting protocols ({z,x,y}modem) to send
+  (sz, sx, sb) and receive (rz, rx, rb) files over a dial-in serial port
+  from a variety of programs running under various operating systems.
+endef
+
+# to stop automake from running, the bundled autohell crap is too old
+define Build/Configure
+       touch $(PKG_BUILD_DIR)/*
+       touch $(PKG_BUILD_DIR)/*/*
+       $(call Build/Configure/Default)
 endef
 
 define Package/lrzsz/install
diff --git a/utils/lrzsz/patches/001-siginterrupt-after-the-call-to-signal-otherwise-ymod.patch b/utils/lrzsz/patches/001-siginterrupt-after-the-call-to-signal-otherwise-ymod.patch
new file mode 100644 (file)
index 0000000..730d466
--- /dev/null
@@ -0,0 +1,22 @@
+From 89fef6d8dc539ed6225b46b8e755e08bbf48d27b Mon Sep 17 00:00:00 2001
+From: Uwe Ohse <uwe@ohse.de>
+Date: Sun, 1 Mar 2020 22:34:24 +0000
+Subject: [PATCH] siginterrupt after the call to signal, otherwise ymodem
+ transfer hangs. WTF?
+
+---
+ src/zreadline.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/src/zreadline.c
++++ b/src/zreadline.c
+@@ -71,6 +71,9 @@ readline_internal(unsigned int timeout)
+                       vstringf("Calling read: alarm=%d  Readnum=%d ",
+                         n, readline_readnum);
+               signal(SIGALRM, zreadline_alarm_handler); 
++#ifdef HAVE_SIGINTERRUPT
++              siginterrupt(SIGALRM,1);
++#endif  
+               alarm(n);
+       }
+       else if (Verbose > 5)
diff --git a/utils/lrzsz/patches/002-may-be-security-fix-avoid-possible-underflow.patch b/utils/lrzsz/patches/002-may-be-security-fix-avoid-possible-underflow.patch
new file mode 100644 (file)
index 0000000..81ec959
--- /dev/null
@@ -0,0 +1,28 @@
+From a7c525191aa725f4ebb7b489cdd7dd854a4e42fb Mon Sep 17 00:00:00 2001
+From: Uwe Ohse <uwe@ohse.de>
+Date: Sun, 1 Mar 2020 22:35:28 +0000
+Subject: [PATCH] may-be-security-fix: avoid possible underflow
+
+Fixes: CVE-2018-10195
+
+[a.heider: mention CVE in commit message]
+---
+ src/zm.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/src/zm.c
++++ b/src/zm.c
+@@ -432,10 +432,11 @@ zsdata(const char *buf, size_t length, i
+       VPRINTF(3,("zsdata: %lu %s", (unsigned long) length, 
+               Zendnames[(frameend-ZCRCE)&3]));
+       crc = 0;
+-      do {
++      while (length>0) {
+               zsendline(*buf); crc = updcrc((0377 & *buf), crc);
+               buf++;
+-      } while (--length>0);
++              length--;
++      }
+       xsendline(ZDLE); xsendline(frameend);
+       crc = updcrc(frameend, crc);
index 7f3995d519f4898f9df458600d30425d4cae6120..7263ab8434802c4706dca19cff7844cf0e47be32 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/Makefile.in
 +++ b/src/Makefile.in
-@@ -372,13 +372,13 @@ install-exec-local:
+@@ -414,13 +414,13 @@ install-exec-local:
        rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
        ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
                $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'` 
index 0e244a0e27bb74350ad643d5a88318566b81e754..26b86c16a42da26ddc59c29bb9b3205b03801235 100644 (file)
@@ -10,7 +10,7 @@
  
 --- a/src/lrz.c
 +++ b/src/lrz.c
-@@ -2319,7 +2319,7 @@ exec2(const char *s)
+@@ -2296,7 +2296,7 @@ exec2(const char *s)
        if (*s == '!')
                ++s;
        io_mode(0,0);
@@ -31,7 +31,7 @@
  #endif
 --- a/src/lsz.c
 +++ b/src/lsz.c
-@@ -1997,7 +1997,7 @@ zsendfdata (struct zm_fileinfo *zi)
+@@ -1988,7 +1988,7 @@ zsendfdata (struct zm_fileinfo *zi)
                blklen = calc_blklen (total_sent);
                total_sent += blklen + OVERHEAD;
                if (Verbose > 2 && blklen != old)
  #ifdef HAVE_MMAP
                if (mm_addr) {
                        if (zi->bytes_sent + blklen < mm_size)
---- a/src/tcp.c
-+++ b/src/tcp.c
-@@ -56,7 +56,7 @@ tcp_server (char *buf)
-       struct sockaddr_in s;
-       struct sockaddr_in t;
-       int on=1;
--      size_t len;
-+      socklen_t len;
-       if ((sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
-               error(1,errno,"socket");
-@@ -91,7 +91,7 @@ tcp_accept (int d)
- {
-       int so;
-       struct  sockaddr_in s;
--      size_t namelen;
-+      socklen_t namelen;
-       int num=0;
-       namelen = sizeof(s);
 --- a/src/zm.c
 +++ b/src/zm.c
-@@ -451,7 +451,7 @@ zsda32(const char *buf, size_t length, i
+@@ -453,7 +453,7 @@ zsda32(const char *buf, size_t length, i
        int c;
        unsigned long crc;
        int i;
@@ -73,7 +53,7 @@
        zsendline_s(buf,length);
 --- a/src/zreadline.c
 +++ b/src/zreadline.c
-@@ -68,13 +68,13 @@ readline_internal(unsigned int timeout)
+@@ -68,7 +68,7 @@ readline_internal(unsigned int timeout)
                else if (n==0)
                        n=1;
                if (Verbose > 5)
@@ -81,6 +61,8 @@
 +                      vstringf("Calling read: alarm=%u  Readnum=%zu ",
                          n, readline_readnum);
                signal(SIGALRM, zreadline_alarm_handler); 
+ #ifdef HAVE_SIGINTERRUPT
+@@ -77,7 +77,7 @@ readline_internal(unsigned int timeout)
                alarm(n);
        }
        else if (Verbose > 5)
index b75158096cb1acd367a322e773084fc41ba91c1c..2db13c5832e4c71faaff666ea07da5b4a0c987a6 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nano
-PKG_VERSION:=7.1
+PKG_VERSION:=7.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=57ba751e9b7519f0f6ddee505202e387c75dde440c1f7aa1b9310cc381406836
+PKG_HASH:=86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526
 
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
index 511538c2d8ca3f9907b021733dab278d2ac410e3..0792db2887ac1c8d88aca5d6253d6f47ce8ec553 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openocd
-PKG_SOURCE_VERSION:=v0.11.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_SOURCE_VERSION:=v0.12.0
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://git.code.sf.net/p/openocd/code
-PKG_MIRROR_HASH:=ec31ce908d951c6c7e173c7474269f3f105d7a7b3991afbe8f54f8d96646c725
+PKG_MIRROR_HASH:=19085e31904d9a04a77dc79e02c441372498e680361e77fe9ffdb482c2ddb19c
 
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
@@ -36,10 +36,10 @@ define Package/openocd
   TITLE:=OpenOCD Utility
   URL:=http://openocd.sf.net/
   DEPENDS:=+libusb-1.0 \
-       +libusb-compat \
        +libftdi1 \
        +hidapi \
-       +libgpiod
+       +libgpiod \
+       +libjaylink
 endef
 
 define Package/openocd/description
@@ -63,6 +63,7 @@ endef
 define Build/Prepare
        $(call Build/Prepare/Default)
        -$(RM) $(PKG_BUILD_DIR)/guess-rev.sh
+       -$(RM) $(PKG_BUILD_DIR)/jimtcl/configure.ac
 endef
 
 CONFIGURE_ARGS += \
index 76ad65888378ba90c7ac620a0e8449e69983a399..92680165121298b390b8c7a575131382c24f2676 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pcsc-tools
-PKG_VERSION:=1.5.7
+PKG_VERSION:=1.6.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://ludovic.rousseau.free.fr/softwares/pcsc-tools/
-PKG_HASH:=e0ea8f8496d5bcf5316da913869ba95b925d0405c2aaade801c0d6ce7697699d
+PKG_SOURCE_URL:=http://ludovic.rousseau.free.fr/softwares/pcsc-tools
+PKG_HASH:=86fb756adfd18958d05af61e53c7503d4c46f0700677e6d0688dd4360eb53150
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later
index fcca4cd1ca0cb3102e43f5ecdd972350ca5f92be..c5adda108ea2778d309f96c0a5365447f68fb94f 100644 (file)
@@ -3,12 +3,12 @@ as a dependency.
 
 --- a/pcsc_scan.c
 +++ b/pcsc_scan.c
-@@ -241,7 +241,7 @@ static void initialize_options(options_t
- #ifdef WIN32
+@@ -294,7 +294,7 @@ static void initialize_options(options_t
+ #if defined(WIN32) || defined(__APPLE__)
        options->analyse_atr = False;
  #else
 -      options->analyse_atr = True;
 +      options->analyse_atr = False;
  #endif
        options->stress_card = False;
-       options->print_version = False;
+       options->maxtime = 0;
index 7f76a0880cb6ad847e83177272c6df489c6a493e..f37092a3390df6ddcb8318721fd47486ac94384a 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pigz
-PKG_VERSION:=2.4
+PKG_VERSION:=2.7
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://zlib.net/pigz/
-PKG_HASH:=a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73
+PKG_SOURCE_URL:=https://zlib.net/pigz
+PKG_HASH:=b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707
 
 PKG_MAINTAINER:=Ken Wong <xinxijishuwyq@gmail.com>
 PKG_LICENSE:=CUSTOM
index bdd910c32009bee6448c3adfc7fccb1b1edd8e6c..28e8eaa450ba8c57135dffc23537727dbca4044b 100644 (file)
@@ -1,14 +1,18 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -1,7 +1,7 @@
+@@ -1,11 +1,11 @@
 -CC=gcc
--CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas
+-CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas -Wcast-qual
 -LDFLAGS=
--LIBS=-lm -lpthread -lz
 +CC?=gcc
-+CFLAGS?=-O3 -Wall -Wextra -Wno-unknown-pragmas
++CFLAGS?=-O3 -Wall -Wextra -Wno-unknown-pragmas -Wcast-qual
 +LDFLAGS?=
+ # CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas -Wcast-qual -g -fsanitize=thread
+ # LDFLAGS=-g -fsanitize=thread
+ # CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas -Wcast-qual -g -fsanitize=address
+ # LDFLAGS=-g -fsanitize=address
+-LIBS=-lm -lpthread -lz
 +LIBS?=-lm -lpthread -lz
  ZOPFLI=zopfli/src/zopfli/
- ZOP=deflate.o blocksplitter.o tree.o lz77.o cache.o hash.o util.o squeeze.o katajainen.o
+ ZOP=deflate.o blocksplitter.o tree.o lz77.o cache.o hash.o util.o squeeze.o katajainen.o symbols.o
  
index 834dda66ca829ad5df292b662442291f2c58b42b..2e9a0e5cbecdf846a6706cf48372cd19c0d6eb83 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=podman
-PKG_VERSION:=4.1.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=4.3.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
-PKG_HASH:=f814e12a7311d486c1ccdc4eb021bc6dd24499569de7a572e436342876f70e95
+PKG_HASH:=455c29c4ee78cd6365e5d46e20dd31a5ce4e6e1752db6774253d76bd3ca78813
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
@@ -15,9 +15,7 @@ PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
 PKG_BUILD_DEPENDS:=golang/host protobuf/host
 PKG_BUILD_PARALLEL:=1
 PKG_USE_MIPS16:=0
-
-GO_PKG:=github.com/containers/podman/
-GO_PKG_BUILD_PKG:=github.com/containers/podman/v4/cmd/podman/
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/golang/golang-package.mk
@@ -41,7 +39,7 @@ define Package/podman
   CATEGORY:=Utilities
   TITLE:=Podman
   URL:=https://podman.io
-  DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +cni +cni-plugins +btrfs-progs +glib2 +gnupg2 +uci-firewall +libgpg-error +libseccomp +libgpgme +nsenter +zoneinfo-simple +kmod-veth +catatonit +PODMAN_SELINUX_SUPPORT:libselinux
+  DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +cni +cni-plugins +btrfs-progs +glib2 +gnupg2 +uci-firewall +libgpg-error +libseccomp +libgpgme +nsenter +zoneinfo-simple +kmod-veth +PODMAN_SELINUX_SUPPORT:libselinux
 endef
 
 define Package/podman/description
@@ -82,6 +80,37 @@ else
   CNIFILE:=87-podman-bridge.conflist
 endif
 
+MAKE_VARS += \
+       GO_INSTALL_BIN_PATH="$(strip $(GO_PKG_INSTALL_BIN_PATH))" \
+       BUILD_DIR="$(PKG_BUILD_DIR)" \
+       GO_BUILD_DIR="$(GO_PKG_BUILD_DIR)" \
+       GO_BUILD_BIN_DIR="$(GO_PKG_BUILD_BIN_DIR)" \
+       GO_BUILD_DEPENDS_PATH="$(GO_PKG_BUILD_DEPENDS_PATH)" \
+       GO_BUILD_DEPENDS_SRC="$(GO_PKG_BUILD_DEPENDS_SRC)" \
+       GOOS="$(GO_OS)" \
+       GOARCH="$(GO_ARCH)" \
+       CC="$(TARGET_CC)" \
+       CXX="$(TARGET_CXX)" \
+       CGO_CFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CFLAGS))" \
+       CGO_CPPFLAGS="$(TARGET_CPPFLAGS)" \
+       CGO_CXXFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CXXFLAGS))" \
+       CGO_LDFLAGS="$(TARGET_LDFLAGS)" \
+       GOPATH="$(GO_PKG_BUILD_DIR)" \
+       GOCACHE="$(GO_BUILD_CACHE_DIR)" \
+       GOMODCACHE="$(GO_MOD_CACHE_DIR)" \
+       GOFLAGS="$(GO_PKG_GCFLAGS)" \
+       GO_PKG_CFLAGS="$(GO_PKG_CFLAGS)" \
+       CGO_ENABLED=1 \
+       GOENV=off \
+       PREFIX=/usr \
+       LIBEXECDIR=/usr/lib \
+       LIBEXECPODMAN=/usr/lib/podman \
+       SHAREDIR_CONTAINERS=/usr/share/containers \
+       ETCDIR=/etc \
+       TMPFILESDIR=/var/run/podman \
+       BUILDTAGS="$(GO_PKG_TAGS)" \
+       EXTRA_LDFLAGS="$(GO_PKG_LDFLAGS)"
+
 define Build/Prepare
        $(call Build/Prepare/Default)
        $(eval $(call Download,default-registries))
@@ -89,7 +118,9 @@ define Build/Prepare
 endef
 
 define Package/podman/install
-       $(call GoPackage/Package/Install/Bin,$(1))
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/podman
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{podman,podman-remote} $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/podman/rootlessport $(1)/usr/lib/podman/
        $(INSTALL_DIR) $(1)/etc/containers
        $(INSTALL_DATA) $(DL_DIR)/default-policy.json-362f70b056 $(1)/etc/containers/policy.json
        $(INSTALL_DATA) $(DL_DIR)/registries.fedora-da9a9c8778 $(1)/etc/containers/registries.conf
@@ -104,5 +135,4 @@ define Package/podman/install
        $(SED) 's/driver = \"\"/driver = \"overlay\"/g' $(1)/etc/containers/storage.conf
 endef
 
-$(eval $(call GoBinPackage,podman))
 $(eval $(call BuildPackage,podman))
diff --git a/utils/podman/patches/010-do-not-build-docs.patch b/utils/podman/patches/010-do-not-build-docs.patch
new file mode 100644 (file)
index 0000000..43f62b6
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -200,7 +200,7 @@ GV_SHA=e943b1806d94d387c4c38d96719432d50
+ default: all
+ .PHONY: all
+-all: binaries docs
++all: binaries
+ .PHONY: binaries
+ ifeq ($(shell uname -s),FreeBSD)
+@@ -744,7 +744,7 @@ package-install: package  ## Install rpm
+       /usr/bin/podman info  # will catch a broken conmon
+ .PHONY: install
+-install: install.bin install.remote install.man install.systemd  ## Install binaries to system locations
++install: install.bin install.remote install.systemd  ## Install binaries to system locations
+ .PHONY: install.catatonit
+ install.catatonit:
diff --git a/utils/qfirehose/Makefile b/utils/qfirehose/Makefile
new file mode 100644 (file)
index 0000000..76e99c2
--- /dev/null
@@ -0,0 +1,55 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qfirehose
+PKG_VERSION:=1.4.9
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/nippynetworks/qfirehose/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=b7c04f9356823c6ee0f4ca152e8fd2015f34b95490cea68461a060993befadef
+
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
+PKG_LICENSE:=
+PKG_LICENSE_FILES:=NOTICE
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/qfirehose
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Quectel Firehose Recovery application
+  URL:=https://github.com/nippynetworks/qfirehose
+endef
+
+define Package/qfirehose/description
+  Utility that is able to flash firmwares on Quectel's modems.
+  Usage: qfirehose -f FW_PATH
+  
+  Warning.
+
+   - Use of software is completely on your own risk.
+     Flashing wrong firmware or failed flash can brick your modem permanently.
+     Avoid flashing, if device works without issues and updated firmware does not contain new necessary changes.
+     Do not flash, if you are not willing to take this risk or do not know what you are doing.
+
+   - After succesful flashing, you should use terminal to issue factory reset for modem settings with AT&F command.
+
+   - mPCIe users (mostly): If modem has completely disappeared after succesful flashing, reason might be that some firmware updates
+     set default mode to USB3 which is unsupported by some mPCIe slots, in this case, you should connect it to USB
+     port using mPCIe -> USB adapter, even most of cheap chinese modules can reveal device. After this you should issue
+     a command to use USB2, which may vary between models, but on most Quectel modems is: AT+QUSBCFG="SS",0
+     Changing value on end of AT command 0 to 1, selects USB3 instead. Refer to documents of your modem.
+endef
+
+define Build/Configure
+       $(RM) $(PKG_BUILD_DIR)/QFirehose
+endef
+
+MAKE_ARGS += linux
+
+define Package/qfirehose/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/QFirehose $(1)/usr/bin/qfirehose
+endef
+
+$(eval $(call BuildPackage,qfirehose))
index 8237d4a12c25b578dce6a947b23517e10b4eb1ae..fc788fc1f7533d86bbe75a22f2dd6e2bb0f0c627 100644 (file)
@@ -8,18 +8,16 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtl-sdr
 PKG_VERSION:=0.6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://git.osmocom.org/rtl-sdr/snapshot
-PKG_HASH:=ee10a76fe0c6601102367d4cdf5c26271e9442d0491aa8df27e5a9bf639cff7c
-
-CMAKE_INSTALL:=1
-
-PKG_LICENSE:=GPLv2
-PKG_LICENSE_FILES:=COPYING
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=0.6.0
+PKG_SOURCE_URL:=https://gitea.osmocom.org/sdr/rtl-sdr
+PKG_MIRROR_HASH:=c7673b94126a61575823cde088112146be4e4874111ad134e7330371060f746d
 
 PKG_MAINTAINER:=Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
index 2f116d9fd149a421355ac9efcae8ec0b32e5c488..8792198f44ca48380118235ff51a79adc2d5af2a 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=stress-ng
-PKG_VERSION:=0.15.00
+PKG_VERSION:=0.15.01
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ColinIanKing/stress-ng/tar.gz/refs/tags/V$(PKG_VERSION)?
-PKG_HASH:=cdb18c7dfcdeb0ff2d716c141341d1b2ca6051e4338cee3a555a65f26958c256
+PKG_HASH:=2168627350d8e3b7f4571732d6117ab054a9851600899c30ad82fd3c9649d644
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=GPL-2.0-only
index 3a66817ddfb7bbf26350b65f33a1733fe0d55d16..953b21cd557978753b60bdfa0f2e7e4b6fc303ec 100644 (file)
@@ -8,17 +8,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=stress
-PKG_VERSION:=1.0.4
-PKG_RELEASE:=2
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://fossies.org/linux/privat
-PKG_HASH:=369c997f65e8426ae8b318d4fdc8e6f07a311cfa77cc4b25dace465c582163c0
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=1.0.5
+PKG_SOURCE_URL:=https://github.com/resurrecting-open-source-projects/stress
+PKG_MIRROR_HASH:=711e42ead6fd220a98821aae0cf024930785e439d3d0d50663fed1b2cd021bd1
 
-PKG_LICENSE:=GPL-2.0
+PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
 
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -27,7 +30,6 @@ define Package/stress
   CATEGORY:=Utilities
   TITLE:=stress is a simple stress utility
   URL:=
-  MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 endef
 
 define Package/stress/description
@@ -35,12 +37,6 @@ stress is a simple tool that imposes certain types of compute \ stress on
 UNIX-like operating systems.
 endef
 
-CONFIGURE_ARGS += \
-       --prefix="/usr"
-
-MAKE_FLAGS += \
-       CFLAGS="$(TARGET_CFLAGS)"
-
 define Package/stress/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/stress $(1)/usr/bin/
index 69467264ce1ed1985a72186e0230ec253404c635..fde51cf858d3f4cbbc6fab87b1c1113bbb3a286a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/stress.c
 +++ b/src/stress.c
-@@ -262,6 +262,7 @@ main (int argc, char **argv)
+@@ -263,6 +263,7 @@ main (int argc, char **argv)
  
        /* Calculate the backoff value so we get good fork throughput.  */
        backoff = do_backoff * forks;
@@ -8,7 +8,7 @@
        dbg (stdout, "using backoff sleep of %llius\n", backoff);
  
        /* If we are supposed to respect a timeout, calculate it.  */
-@@ -296,7 +297,7 @@ main (int argc, char **argv)
+@@ -297,7 +298,7 @@ main (int argc, char **argv)
              {
              case 0:            /* child */
                alarm (timeout);
@@ -17,7 +17,7 @@
                if (do_dryrun)
                  exit (0);
                exit (hogcpu ());
-@@ -317,7 +318,7 @@ main (int argc, char **argv)
+@@ -318,7 +319,7 @@ main (int argc, char **argv)
              {
              case 0:            /* child */
                alarm (timeout);
@@ -26,7 +26,7 @@
                if (do_dryrun)
                  exit (0);
                exit (hogio ());
-@@ -337,7 +338,7 @@ main (int argc, char **argv)
+@@ -338,7 +339,7 @@ main (int argc, char **argv)
              {
              case 0:            /* child */
                alarm (timeout);
@@ -35,7 +35,7 @@
                if (do_dryrun)
                  exit (0);
                exit (hogvm
-@@ -358,7 +359,7 @@ main (int argc, char **argv)
+@@ -359,7 +360,7 @@ main (int argc, char **argv)
              {
              case 0:            /* child */
                alarm (timeout);
index e8d01626e1643e00cffd665fc76be25afeeb4334..fe989b798128286cec6e4640f9d4625159d3fb4c 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xz
-PKG_VERSION:=5.2.9
+PKG_VERSION:=5.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/lzmautils
-PKG_HASH:=b194507fba3a462a753c553149ccdaa168337bcb7deefddd067ba987c83dfce6
+PKG_HASH:=dd172acb53867a68012f94c17389401b2f274a1aa5ae8f84cbfb8b7e383ea8d3
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=Public-Domain LGPL-2.1-or-later GPL-2.0-or-later GPL-3.0-or-later
index 980f8bb7ae1743c77b11d6196721120a8e1b1264..b386e94f08a460f5c473d802cd8fb5d1e2f9437b 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yq
-PKG_VERSION:=4.30.6
+PKG_VERSION:=4.30.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=320d0ce36d1dbe703b4cbdb28e9a927c1e87b157e8c05aeb078d6c9c1b0138ea
+PKG_HASH:=aaf6c9f37968970413b8a6daf0b313a86efd1b8e3e5959e527b50636508eb776
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MIT