From da2db3b92943e3351ffedd8ff5f5e655ef9240ae Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Thu, 5 Jan 2023 20:49:41 +0200 Subject: [PATCH 01/38] stress-ng: bump to version 0.15.01 Signed-off-by: Alexandru Ardelean --- utils/stress-ng/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/stress-ng/Makefile b/utils/stress-ng/Makefile index 2f116d9fd..8792198f4 100644 --- a/utils/stress-ng/Makefile +++ b/utils/stress-ng/Makefile @@ -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 PKG_LICENSE:=GPL-2.0-only From 0edb2cccb8c622fc8462b01c628bf56b055951e0 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 5 Dec 2022 00:51:14 +0000 Subject: [PATCH 02/38] safe-search: fix use with dnsmasq in ujail The safe-search package creates symlinks in a configured additional hosts directory. The link targets are inside another directory which has to be made available to dnsmasq as well. Now that support for adding additional paths to dnsmasq was added by commit openwrt/openwrt@aa12a0fdd1c5a004281633c5b0758da1781bb41c implement adding this path using the existing uci-defaults script. Signed-off-by: Daniel Golle --- net/safe-search/Makefile | 2 +- net/safe-search/files/safe-search.defaults | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/net/safe-search/Makefile b/net/safe-search/Makefile index b8afee5d7..1492db090 100644 --- a/net/safe-search/Makefile +++ b/net/safe-search/Makefile @@ -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 diff --git a/net/safe-search/files/safe-search.defaults b/net/safe-search/files/safe-search.defaults index 063e84cc3..e7f4d052b 100644 --- a/net/safe-search/files/safe-search.defaults +++ b/net/safe-search/files/safe-search.defaults @@ -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 From bb300f0635414e031ee95a8dd508c05a103d3545 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 19 Dec 2022 23:39:40 +0000 Subject: [PATCH 03/38] postgresql: update to version 15.1 https://www.postgresql.org/docs/release/15.0/ https://www.postgresql.org/docs/release/15.1/ A dump/restore using pg_dumpall or use of pg_upgrade or logical replication is required for those wishing to migrate data from any previous release. Do not backport to release branch which should remain on version 14. Signed-off-by: Daniel Golle --- libs/postgresql/Makefile | 4 +-- libs/postgresql/patches/200-ranlib.patch | 6 ++-- .../postgresql/patches/300-fix-includes.patch | 14 ++++++++ libs/postgresql/patches/300-fix-pc-file.patch | 33 ------------------- .../patches/700-no-arm-crc-march-change.patch | 2 +- .../patches/900-pg_ctl-setuid.patch | 12 +++---- 6 files changed, 26 insertions(+), 45 deletions(-) create mode 100644 libs/postgresql/patches/300-fix-includes.patch delete mode 100644 libs/postgresql/patches/300-fix-pc-file.patch diff --git a/libs/postgresql/Makefile b/libs/postgresql/Makefile index 793c0cfd1..7450393b9 100644 --- a/libs/postgresql/Makefile +++ b/libs/postgresql/Makefile @@ -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 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 diff --git a/libs/postgresql/patches/200-ranlib.patch b/libs/postgresql/patches/200-ranlib.patch index 3bf02efee..d4184a354 100644 --- a/libs/postgresql/patches/200-ranlib.patch +++ b/libs/postgresql/patches/200-ranlib.patch @@ -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 index 000000000..3611c8e00 --- /dev/null +++ b/libs/postgresql/patches/300-fix-includes.patch @@ -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 ++#include + #include + #include + #include ++#include + #include + #include + diff --git a/libs/postgresql/patches/300-fix-pc-file.patch b/libs/postgresql/patches/300-fix-pc-file.patch deleted file mode 100644 index 2d7eb97a0..000000000 --- a/libs/postgresql/patches/300-fix-pc-file.patch +++ /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 diff --git a/libs/postgresql/patches/700-no-arm-crc-march-change.patch b/libs/postgresql/patches/700-no-arm-crc-march-change.patch index 9c4dcaae2..31dccffb4 100644 --- a/libs/postgresql/patches/700-no-arm-crc-march-change.patch +++ b/libs/postgresql/patches/700-no-arm-crc-march-change.patch @@ -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([]) diff --git a/libs/postgresql/patches/900-pg_ctl-setuid.patch b/libs/postgresql/patches/900-pg_ctl-setuid.patch index d114a820e..64d558fcc 100644 --- a/libs/postgresql/patches/900-pg_ctl-setuid.patch +++ b/libs/postgresql/patches/900-pg_ctl-setuid.patch @@ -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); } From 166be4078fc4d1ff64dcae0a8f938acc495d1fd1 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 27 Nov 2022 17:13:32 -0800 Subject: [PATCH 04/38] mpd: update to 0.23.11 Signed-off-by: Rosen Penev --- sound/mpd/Makefile | 6 +++--- sound/mpd/patches/010-gcc12.patch | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 sound/mpd/patches/010-gcc12.patch diff --git a/sound/mpd/Makefile b/sound/mpd/Makefile index 3f08da07e..b330a8ae1 100644 --- a/sound/mpd/Makefile +++ b/sound/mpd/Makefile @@ -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 index 000000000..a3b83b5d5 --- /dev/null +++ b/sound/mpd/patches/010-gcc12.patch @@ -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?= + +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. `` 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 + #include + ++#include ++#include ++#include + #include ++#include + + class RemoteTagCacheHandler; + From 65c9f9524d70cee1f151ddab90ce9b133c3afdd0 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 7 Nov 2022 17:17:10 -0800 Subject: [PATCH 05/38] tiff: don't use AUTORELEASE Seems upstream wants to get rid of it. Backport upstream patches fixing several CVEs. Signed-off-by: Rosen Penev --- libs/tiff/Makefile | 4 +- libs/tiff/patches/010-CVE-2022-2519.patch | 93 +++++++++++++++++++++++ libs/tiff/patches/020-CVE-2022-2520.patch | 28 +++++++ 3 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 libs/tiff/patches/010-CVE-2022-2519.patch create mode 100644 libs/tiff/patches/020-CVE-2022-2520.patch diff --git a/libs/tiff/Makefile b/libs/tiff/Makefile index 37539d946..3b65ca7c1 100644 --- a/libs/tiff/Makefile +++ b/libs/tiff/Makefile @@ -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 index 000000000..6c61ed01b --- /dev/null +++ b/libs/tiff/patches/010-CVE-2022-2519.patch @@ -0,0 +1,93 @@ +From 8fe3735942ea1d90d8cef843b55b3efe8ab6feaf Mon Sep 17 00:00:00 2001 +From: Su_Laus +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 index 000000000..5cfa52e76 --- /dev/null +++ b/libs/tiff/patches/020-CVE-2022-2520.patch @@ -0,0 +1,28 @@ +From bad48e90b410df32172006c7876da449ba62cdba Mon Sep 17 00:00:00 2001 +From: Su_Laus +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); + } From 833515f479e250a5c366e9188809575b04e5e71a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 16 Oct 2022 12:00:28 -0700 Subject: [PATCH 06/38] opendkim: use pkgconfig for libbsd Allows using the overlay. Also remove the outdated uClibc patch. Signed-off-by: Rosen Penev --- mail/opendkim/Makefile | 8 +- mail/opendkim/patches/020-libbsd.patch | 2143 ++++++++++++++++++++++++ mail/opendkim/patches/020-uclibc.patch | 20 - 3 files changed, 2147 insertions(+), 24 deletions(-) create mode 100644 mail/opendkim/patches/020-libbsd.patch delete mode 100644 mail/opendkim/patches/020-uclibc.patch diff --git a/mail/opendkim/Makefile b/mail/opendkim/Makefile index d4c1c2562..b25a955a9 100644 --- a/mail/opendkim/Makefile +++ b/mail/opendkim/Makefile @@ -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 index 000000000..d9056b0cd --- /dev/null +++ b/mail/opendkim/patches/020-libbsd.patch @@ -0,0 +1,2143 @@ +From f45f7d220e44477c2bc7d04735086e3d703f4b7f Mon Sep 17 00:00:00 2001 +From: Guilherme Janczak +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 ``, 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 + #include + #include +-#include ++#include + 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 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 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 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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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: +-** ++** + ** ._domainkey. 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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + #endif /* USE_GNUTLS */ + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#endif /* USE_STRL_H */ +- + /* Lua includes */ + #include + #include +@@ -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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + #include + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + #endif /* ARTEST */ + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#endif /* USE_STRL_H */ +- + /* repute includes */ + #ifdef _FFR_REPUTATION + # include +@@ -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: + ** ://[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 + #endif /* USE_ODBX */ + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + #include + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#endif /* USE_STRL_H */ +- + #ifdef _FFR_REPUTATION + /* reputation includes */ + # include +@@ -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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 + +-/* libbsd if found */ +-#ifdef USE_BSD_H +-# include +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#endif /* USE_STRL_H */ +- + /* libmilter includes */ + #include + +@@ -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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#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 +-#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 +-#endif /* USE_BSD_H */ +- +-/* libstrl if needed */ +-#ifdef USE_STRL_H +-# include +-#endif /* USE_STRL_H */ +- + /* libodbx includes */ + #ifdef USE_ODBX + # include diff --git a/mail/opendkim/patches/020-uclibc.patch b/mail/opendkim/patches/020-uclibc.patch deleted file mode 100644 index 34da7f4b5..000000000 --- a/mail/opendkim/patches/020-uclibc.patch +++ /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__ - } - - /* From 6a529c6e754700b94831e0dc27c8e807dfe2b881 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 19:55:09 -0800 Subject: [PATCH 07/38] libmad: update URL to use codeberg Upstream abandoned GitHub. Signed-off-by: Rosen Penev --- libs/libmad/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/libmad/Makefile b/libs/libmad/Makefile index 934705fde..595c9607d 100644 --- a/libs/libmad/Makefile +++ b/libs/libmad/Makefile @@ -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 PKG_LICENSE:=GPL-2.0-or-later From 15444e57ef07d2552ae9ea09cd6bd1850e92313c Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 14 Jan 2023 02:49:12 +0000 Subject: [PATCH 08/38] sbc: update to version 2.0 Fixes issue with use of x86-specific compiler primitives on non-x86 systems which we had previously patched downstream, remove this patch. Signed-off-by: Daniel Golle --- libs/sbc/Makefile | 4 ++-- libs/sbc/patches/010-x86.patch | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 libs/sbc/patches/010-x86.patch diff --git a/libs/sbc/Makefile b/libs/sbc/Makefile index 4e656fb2c..ca5b8488f 100644 --- a/libs/sbc/Makefile +++ b/libs/sbc/Makefile @@ -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 index 8b5d5aca9..000000000 --- a/libs/sbc/patches/010-x86.patch +++ /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")) From 274fc7575efeadf99107769a5a9619fa6f2ac8b6 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 14 Jan 2023 02:35:28 +0000 Subject: [PATCH 09/38] bluez: update to version 5.66 ver 5.66: Fix issue with A2DP and transport connection collisions. Fix issue with allowing application specific error codes. Fix issue with not setting initiator flag correctly. Fix issue with HoG Report MAP size handling. Add initial support for Basic Audio Profile. Add initial support for Volume Control Profile. ver 5.65: Fix issue with A2DP cache invalidation handling. Fix issue with A2DP and not initialized SEP codec. Fix issue with A2DP and multiple SetConfiguration to same SEP Fix issue with AVRCP and not properly initialized volume. Fix issue with SDP records when operating in LE only mode. Fix issue with HoG and not reading report map of instances. Fix issue with GATT server crashing while disconnecting. Fix issue with not removing connected devices. Fix issue with enabling wake support without RPA Resolution. Fix issue with pairing failed due to the error of Already Paired. Add support for CONFIGURATION_DIRECTORY environment variable. Add support for STATE_DIRECTORY environment variable. Add support for "Bonded" property with Device API. Add experimental support for ISO socket. Package btmon in new package 'bluez-utils-btmon' to prevent adding glib2 it now requires as a dependency for all of bluez-utils. Signed-off-by: Daniel Golle --- utils/bluez/Makefile | 22 ++++++++++++---- ...-speed-must-be-reset-after-the-firmw.patch | 4 +-- ...-the-43xx-firmware-into-lib-firmware.patch | 10 +++---- utils/bluez/patches/201-readline.patch | 26 +++++++++---------- ...fresh_adv_manager_for_non-LE_devices.patch | 2 +- .../patches/210-util-define-MAX_INPUT.patch | 12 +++++++++ 6 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 utils/bluez/patches/210-util-define-MAX_INPUT.patch diff --git a/utils/bluez/Makefile b/utils/bluez/Makefile index 588a2f1a2..c585593cc 100644 --- a/utils/bluez/Makefile +++ b/utils/bluez/Makefile @@ -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)) diff --git a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch index 3df634110..a2035304a 100644 --- a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch +++ b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch @@ -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; } diff --git a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch index 670d4304c..cce53b329 100644 --- a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch +++ b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch @@ -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); diff --git a/utils/bluez/patches/201-readline.patch b/utils/bluez/patches/201-readline.patch index f60001c0d..e58b504b3 100644 --- a/utils/bluez/patches/201-readline.patch +++ b/utils/bluez/patches/201-readline.patch @@ -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 \ diff --git a/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch index 3252ecf41..b79667bb0 100644 --- a/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch +++ b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch @@ -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 index 000000000..e2af0bf65 --- /dev/null +++ b/utils/bluez/patches/210-util-define-MAX_INPUT.patch @@ -0,0 +1,12 @@ +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -23,6 +23,9 @@ + #include + #include + #include ++#ifndef MAX_INPUT ++#define MAX_INPUT _POSIX_MAX_INPUT ++#endif + + #ifdef HAVE_SYS_RANDOM_H + #include From b8a2d99457c0d061ad8de39cde86c641224dda37 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 18:33:57 -0800 Subject: [PATCH 10/38] evtest: update to 1.35 Switch to git tarballs as the old freedesktop cgit doesn't work properly anymore. Signed-off-by: Rosen Penev --- utils/evtest/Makefile | 11 +++--- utils/evtest/patches/010-musl.patch | 19 ---------- ...ld-on-32bit-arches-with-64bit-time_t.patch | 38 ------------------- 3 files changed, 6 insertions(+), 62 deletions(-) delete mode 100644 utils/evtest/patches/010-musl.patch delete mode 100644 utils/evtest/patches/020-Fix-build-on-32bit-arches-with-64bit-time_t.patch diff --git a/utils/evtest/Makefile b/utils/evtest/Makefile index 8f0c51ba4..86077b5eb 100644 --- a/utils/evtest/Makefile +++ b/utils/evtest/Makefile @@ -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 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 index 647c9dc54..000000000 --- a/utils/evtest/patches/010-musl.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 12d5ea5ca2d9a47a1cab06caf2b36967667a3daf Mon Sep 17 00:00:00 2001 -From: Leo -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 - #include - #include -+#include /* 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 index 3fcb25224..000000000 --- a/utils/evtest/patches/020-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 648f5c1a9e07843e185782d207bc1bcbe6586f6e Mon Sep 17 00:00:00 2001 -From: Khem Raj -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 ---- - evtest.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- a/evtest.c -+++ b/evtest.c -@@ -61,6 +61,11 @@ - #include - #include /* 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) From 8c1030e52aa42d92e4a279262d38c4048e99bfde Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 27 Nov 2022 17:46:15 -0800 Subject: [PATCH 11/38] hidapi: remove now obsolete iconv patch Signed-off-by: Rosen Penev --- libs/hidapi/Makefile | 2 +- libs/hidapi/patches/020-iconv.patch | 100 ---------------------------- 2 files changed, 1 insertion(+), 101 deletions(-) delete mode 100644 libs/hidapi/patches/020-iconv.patch diff --git a/libs/hidapi/Makefile b/libs/hidapi/Makefile index 59261bfef..b169a2584 100644 --- a/libs/hidapi/Makefile +++ b/libs/hidapi/Makefile @@ -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 index a30d540ea..000000000 --- a/libs/hidapi/patches/020-iconv.patch +++ /dev/null @@ -1,100 +0,0 @@ -From cfcddf90ea6add9d4aaa99ee2decc5a9140bdf37 Mon Sep 17 00:00:00 2001 -From: Ihor Dutchak -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 -+ #include -+ 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 - 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") From 5a25a731c615bb50ef6b262818c6ee2379eb0b87 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 11 Jan 2023 11:36:27 +0800 Subject: [PATCH 12/38] golang: Update to 1.19.5 Go1.19.5 (released 2023-01-10) includes fixes to the compiler, the linker, and the crypto/x509, net/http, sync/atomic, and syscall packages. Removed upstreamed patch. Signed-off-by: Tianling Shen --- lang/golang/golang/Makefile | 4 +- ...jump-tables-when-spectre-retpolines-.patch | 67 ------------------- 2 files changed, 2 insertions(+), 69 deletions(-) delete mode 100644 lang/golang/golang/patches/010-cmd-compile-turn-off-jump-tables-when-spectre-retpolines-.patch diff --git a/lang/golang/golang/Makefile b/lang/golang/golang/Makefile index 4377965c2..8bea7695c 100644 --- a/lang/golang/golang/Makefile +++ b/lang/golang/golang/Makefile @@ -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 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 index 189957178..000000000 --- a/lang/golang/golang/patches/010-cmd-compile-turn-off-jump-tables-when-spectre-retpolines-.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 156578067111742b55718066c91b8ec66d35e03d Mon Sep 17 00:00:00 2001 -From: Keith Randall -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 -Reviewed-by: Cherry Mui -TryBot-Result: Gopher Robot -Run-TryBot: Keith Randall -(cherry picked from commit 1eb0465fa596a2d6e9c1a632499989544f0d7e68) -Reviewed-on: https://go-review.googlesource.com/c/go/+/455416 -Reviewed-by: Michael Pratt ---- - 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 -+} From 1e0aa44ce2db35c626938ae6331ea9bcf80c639d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 27 Nov 2022 17:47:20 -0800 Subject: [PATCH 13/38] clamav: remove now obsolete iconv patch Signed-off-by: Rosen Penev --- net/clamav/patches/020-iconv.patch | 63 ------------------------------ 1 file changed, 63 deletions(-) delete mode 100644 net/clamav/patches/020-iconv.patch diff --git a/net/clamav/patches/020-iconv.patch b/net/clamav/patches/020-iconv.patch deleted file mode 100644 index 09cd49145..000000000 --- a/net/clamav/patches/020-iconv.patch +++ /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 -+ #include -+ 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 ) From 84856c9042ce2b732c17f33e5fc71dfa88b982ea Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sat, 14 Jan 2023 11:36:18 +0200 Subject: [PATCH 14/38] xz: update to version 5.4.1 Update to 5.4.1 (keep in sync with xz in tools/) Signed-off-by: Hannu Nyman --- utils/xz/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/xz/Makefile b/utils/xz/Makefile index e8d01626e..fe989b798 100644 --- a/utils/xz/Makefile +++ b/utils/xz/Makefile @@ -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 From 3c34ef4c991f6257b55e57f8ea08357d0066117e Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Sat, 14 Jan 2023 20:51:54 +0800 Subject: [PATCH 15/38] yq: Update to 4.30.7 Signed-off-by: Tianling Shen --- utils/yq/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/yq/Makefile b/utils/yq/Makefile index 980f8bb7a..33cfb4066 100644 --- a/utils/yq/Makefile +++ b/utils/yq/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=yq -PKG_VERSION:=4.30.6 +PKG_VERSION:=4.30.7 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:=84dff2f03ae34b84032a36e381440b78684a9eb5cf849789878da78e94fcd679 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MIT From 03098233ef43df1b6a40b0fc9cce6823a65e6da2 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 14 Jan 2023 01:03:10 +0000 Subject: [PATCH 16/38] libcurl-gnutls: add package, replaces gnURL The gnURL-fork of cURL is no longer maintained as cURL finally supports probing and selecting the TLS implementation at run-time. Hence just build a gnuTLS-backed variant of libcurl, use patchelf to change the shared object name, call the result libcurl-gnutls and be done. Other distributions have opted for similar solutions. In future we could convert the curl package to provide build-variants for each TLS implementation; however, this is out of the scope of the needs of GNUnet which used to be only user of libgnurl. Signed-off-by: Daniel Golle --- net/gnurl/Makefile | 118 ------------------------------------ net/libcurl-gnutls/Makefile | 112 ++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 118 deletions(-) delete mode 100644 net/gnurl/Makefile create mode 100644 net/libcurl-gnutls/Makefile diff --git a/net/gnurl/Makefile b/net/gnurl/Makefile deleted file mode 100644 index dd1714309..000000000 --- a/net/gnurl/Makefile +++ /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 -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)) diff --git a/net/libcurl-gnutls/Makefile b/net/libcurl-gnutls/Makefile new file mode 100644 index 000000000..55801dc5d --- /dev/null +++ b/net/libcurl-gnutls/Makefile @@ -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 +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)) From 09bc74fa23ed9a6bf6be4c9b913fdbca72b0cbbb Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 6 Oct 2022 23:33:58 +0100 Subject: [PATCH 17/38] gnunet: update to version 0.19.2 GNUnet has not been updated for a while due to the gnurl-situation. Now that we got libcurl-gnutls, we can update GNUnet. For details, please see the GNUnet release notes: https://www.gnunet.org/en/news/2022-09-0.17.6.html https://www.gnunet.org/en/news/2022-10-0.18.0.html https://www.gnunet.org/en/news/2022-11-0.18.1.html https://www.gnunet.org/en/news/2022-12-0.19.0.html https://www.gnunet.org/en/news/2022-12-0.19.1.html https://www.gnunet.org/en/news/2023-01-0.19.2.html Signed-off-by: Daniel Golle --- net/gnunet/Makefile | 32 +++++++++++-------- net/gnunet/patches/010-endian.patch | 6 ++-- .../patches/020-curl-no-runtime-test.patch | 16 ++++++++++ 3 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 net/gnunet/patches/020-curl-no-runtime-test.patch diff --git a/net/gnunet/Makefile b/net/gnunet/Makefile index 59c406237..193c6c102 100644 --- a/net/gnunet/Makefile +++ b/net/gnunet/Makefile @@ -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,)) diff --git a/net/gnunet/patches/010-endian.patch b/net/gnunet/patches/010-endian.patch index 96e75ae2d..cbb83c228 100644 --- a/net/gnunet/patches/010-endian.patch +++ b/net/gnunet/patches/010-endian.patch @@ -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 index 000000000..6fc7d6bec --- /dev/null +++ b/net/gnunet/patches/020-curl-no-runtime-test.patch @@ -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 ]], +- [[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]) From 9a1e65c2fd9741348c82cb5724a9c4299c232d42 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 14 Jan 2023 02:58:57 +0000 Subject: [PATCH 18/38] gnunet-fuse: update to version 0.19.1 ChangeLog file excert: Fri Dec 30 12:51:11 AM CET 2022 Releasing gnunet-fuse 0.19.1: fix build for GNUnet 0.19.0+. Signed-off-by: Daniel Golle --- net/gnunet-fuse/Makefile | 6 +-- .../001-pthread_mutexattr_settype.patch | 50 ------------------- 2 files changed, 3 insertions(+), 53 deletions(-) delete mode 100644 net/gnunet-fuse/patches/001-pthread_mutexattr_settype.patch diff --git a/net/gnunet-fuse/Makefile b/net/gnunet-fuse/Makefile index a274ef957..e992c48e4 100644 --- a/net/gnunet-fuse/Makefile +++ b/net/gnunet-fuse/Makefile @@ -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 index 4c9eba5e5..000000000 --- a/net/gnunet-fuse/patches/001-pthread_mutexattr_settype.patch +++ /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)); From df1cd5792a9b2e8514d7a34857a0369ee78b0ceb Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Wed, 4 Jan 2023 13:55:55 +0200 Subject: [PATCH 19/38] qfirehose: new package Signed-off-by: Oskari Rauta --- utils/qfirehose/Makefile | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 utils/qfirehose/Makefile diff --git a/utils/qfirehose/Makefile b/utils/qfirehose/Makefile new file mode 100644 index 000000000..76e99c2ef --- /dev/null +++ b/utils/qfirehose/Makefile @@ -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 +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)) From 40c685e616f5a83202da1c6e91744bd9c3e39e76 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 17:08:21 -0800 Subject: [PATCH 20/38] alpine: fix old URL Signed-off-by: Rosen Penev --- mail/alpine/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mail/alpine/Makefile b/mail/alpine/Makefile index 97cb1ae37..b11d4aa30 100644 --- a/mail/alpine/Makefile +++ b/mail/alpine/Makefile @@ -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ä From 08a846c684a67926c85f34baeed6ae72bf8d360e Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 17:28:33 -0800 Subject: [PATCH 21/38] bc: use @DEBIAN Seems Debian no longer offers ftp. Signed-off-by: Rosen Penev --- utils/bc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/bc/Makefile b/utils/bc/Makefile index f02285e8d..14f9480ed 100644 --- a/utils/bc/Makefile +++ b/utils/bc/Makefile @@ -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 From 6c4205a58f8beaea52c3782734a365778212d688 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 14:26:04 -0800 Subject: [PATCH 22/38] socat: update to 1.7.4.4 Signed-off-by: Rosen Penev --- net/socat/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/socat/Makefile b/net/socat/Makefile index b9b7ba881..2f3ca78f4 100644 --- a/net/socat/Makefile +++ b/net/socat/Makefile @@ -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 PKG_LICENSE:=GPL-2.0-or-later OpenSSL From 953eac0297a846610fb8c1311e9803b1346d0779 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 12:58:01 -0800 Subject: [PATCH 23/38] perl-compress-bzip2: update to 2.28 Signed-off-by: Rosen Penev --- lang/perl-compress-bzip2/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/perl-compress-bzip2/Makefile b/lang/perl-compress-bzip2/Makefile index 123ce95f0..d726a46da 100644 --- a/lang/perl-compress-bzip2/Makefile +++ b/lang/perl-compress-bzip2/Makefile @@ -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 From 2fa8db3c3c508a0c9244d02623058a9db03d42df Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 18:22:36 -0800 Subject: [PATCH 24/38] netperf: use git tarball netperf.org is gone now. Only github is left. Signed-off-by: Rosen Penev --- net/netperf/Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/net/netperf/Makefile b/net/netperf/Makefile index 9564a4c60..fa8893619 100644 --- a/net/netperf/Makefile +++ b/net/netperf/Makefile @@ -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 endef From b6f7b2eabff057a8e04f2fdb7d5f61370d741c91 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 13:21:00 -0800 Subject: [PATCH 25/38] pigz: update to 2.7 Signed-off-by: Rosen Penev --- utils/pigz/Makefile | 6 +++--- utils/pigz/patches/001.patch | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/utils/pigz/Makefile b/utils/pigz/Makefile index 7f76a0880..f37092a33 100644 --- a/utils/pigz/Makefile +++ b/utils/pigz/Makefile @@ -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 PKG_LICENSE:=CUSTOM diff --git a/utils/pigz/patches/001.patch b/utils/pigz/patches/001.patch index bdd910c32..28e8eaa45 100644 --- a/utils/pigz/patches/001.patch +++ b/utils/pigz/patches/001.patch @@ -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 From 365db936888d0ecfaf41bb00e10e8e43128cf7f1 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 20:58:47 -0800 Subject: [PATCH 26/38] pcsc-tools: update to 1.6.1 Signed-off-by: Rosen Penev --- utils/pcsc-tools/Makefile | 6 +++--- utils/pcsc-tools/patches/001-disable-atr.patch | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/utils/pcsc-tools/Makefile b/utils/pcsc-tools/Makefile index 76ad65888..926801651 100644 --- a/utils/pcsc-tools/Makefile +++ b/utils/pcsc-tools/Makefile @@ -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 diff --git a/utils/pcsc-tools/patches/001-disable-atr.patch b/utils/pcsc-tools/patches/001-disable-atr.patch index fcca4cd1c..c5adda108 100644 --- a/utils/pcsc-tools/patches/001-disable-atr.patch +++ b/utils/pcsc-tools/patches/001-disable-atr.patch @@ -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; From 550100482bab5a41d08742f17a18bded2f438d29 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 15:05:01 -0800 Subject: [PATCH 27/38] xinetd: fix URL Something went wrong here. Switch to git tarballs. Signed-off-by: Rosen Penev --- net/xinetd/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/net/xinetd/Makefile b/net/xinetd/Makefile index 1d52a1b5e..9ac1f1cdd 100644 --- a/net/xinetd/Makefile +++ b/net/xinetd/Makefile @@ -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 PKG_LICENSE:=xinetd From cdfc16c0a5c8434bf8d552babacec078ad48d96f Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 19:09:00 -0800 Subject: [PATCH 28/38] foolsm: update to 1.0.21 Signed-off-by: Rosen Penev --- net/foolsm/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/foolsm/Makefile b/net/foolsm/Makefile index 5e60cdfd6..2d67aa6e0 100644 --- a/net/foolsm/Makefile +++ b/net/foolsm/Makefile @@ -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 From 3eace67a3001b68052c81a18ee361dc7597cf71a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 13 Jan 2023 17:08:54 -0800 Subject: [PATCH 29/38] atlas-probe: update to 2.6.3 Switch to git tarballs. Remove upstreamed patches and add OpenSSL patch. Signed-off-by: Rosen Penev --- net/atlas-probe/Makefile | 12 +- ...02-Avoid-problems-with-64-bit-time_t.patch | 68 ---- ...ed-by-time_t-casted-to-long-on-32bit.patch | 301 ------------------ ...evious-prototype-compilation-warning.patch | 43 --- ...6-to-sockaddr-to-mute-compilation-wa.patch | 137 -------- ...ong-to-mute-warning-on-32bit-systems.patch | 83 ----- net/atlas-probe/patches/010-openssl.patch | 25 ++ 7 files changed, 30 insertions(+), 639 deletions(-) delete mode 100644 net/atlas-probe/patches/002-Avoid-problems-with-64-bit-time_t.patch delete mode 100644 net/atlas-probe/patches/003-Fix-SIGSEGV-caused-by-time_t-casted-to-long-on-32bit.patch delete mode 100644 net/atlas-probe/patches/005-Mute-some-no-previous-prototype-compilation-warning.patch delete mode 100644 net/atlas-probe/patches/006-Cast-sockaddr_in6-to-sockaddr-to-mute-compilation-wa.patch delete mode 100644 net/atlas-probe/patches/007-Cast-size_t-to-long-to-mute-warning-on-32bit-systems.patch create mode 100644 net/atlas-probe/patches/010-openssl.patch diff --git a/net/atlas-probe/Makefile b/net/atlas-probe/Makefile index 7d7932573..a5dfd34ae 100644 --- a/net/atlas-probe/Makefile +++ b/net/atlas-probe/Makefile @@ -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 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 index 9b2e13110..000000000 --- a/net/atlas-probe/patches/002-Avoid-problems-with-64-bit-time_t.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 46da4c4e090e0412cee0777f1e8b219964781da7 Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz -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 ---- - 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 index 5dbc56d13..000000000 --- a/net/atlas-probe/patches/003-Fix-SIGSEGV-caused-by-time_t-casted-to-long-on-32bit.patch +++ /dev/null @@ -1,301 +0,0 @@ -From 899efc5206d5985d0ae65500a1c0542ec2d58e58 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -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 ---- - 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 index 3a1d7649f..000000000 --- a/net/atlas-probe/patches/005-Mute-some-no-previous-prototype-compilation-warning.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 25f131be221c5b2f8cb4f0c2a32f522415bb3bbf Mon Sep 17 00:00:00 2001 -From: Christian Marangi -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 ---- - 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 - #include - -+#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 index 24b164b32..000000000 --- a/net/atlas-probe/patches/006-Cast-sockaddr_in6-to-sockaddr-to-mute-compilation-wa.patch +++ /dev/null @@ -1,137 +0,0 @@ -From dba9e1b7707c9cc9f5804b7a5cbda32a08e9e18f Mon Sep 17 00:00:00 2001 -From: Christian Marangi -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 ---- - 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 index 0e2d3cb78..000000000 --- a/net/atlas-probe/patches/007-Cast-size_t-to-long-to-mute-warning-on-32bit-systems.patch +++ /dev/null @@ -1,83 +0,0 @@ -From d8bd85fba865508c0c6dff57b14c98f3ca70bbfc Mon Sep 17 00:00:00 2001 -From: Christian Marangi -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 ---- - 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 index 000000000..539659787 --- /dev/null +++ b/net/atlas-probe/patches/010-openssl.patch @@ -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; From f0b9599ba0bc5b167c61d5fea6178b5511bd274e Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 13:41:22 -0800 Subject: [PATCH 30/38] rp-pppoe: update to 3.15 Signed-off-by: Rosen Penev --- net/rp-pppoe/Makefile | 6 +++--- net/rp-pppoe/patches/110-Makefile.patch | 2 +- net/rp-pppoe/patches/130-static-lib-fix.patch | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/net/rp-pppoe/Makefile b/net/rp-pppoe/Makefile index c5b6865e1..f062765ca 100644 --- a/net/rp-pppoe/Makefile +++ b/net/rp-pppoe/Makefile @@ -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 diff --git a/net/rp-pppoe/patches/110-Makefile.patch b/net/rp-pppoe/patches/110-Makefile.patch index 0d4a341f8..013c35b65 100644 --- a/net/rp-pppoe/patches/110-Makefile.patch +++ b/net/rp-pppoe/patches/110-Makefile.patch @@ -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@ diff --git a/net/rp-pppoe/patches/130-static-lib-fix.patch b/net/rp-pppoe/patches/130-static-lib-fix.patch index 1221c2b4b..d9a63da6a 100644 --- a/net/rp-pppoe/patches/130-static-lib-fix.patch +++ b/net/rp-pppoe/patches/130-static-lib-fix.patch @@ -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 From c58d94f4c4bace065bdfb0a02c4bac6a1a6fe88a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 20:29:39 -0800 Subject: [PATCH 31/38] flashrom: update to 1.2.1 Signed-off-by: Rosen Penev --- utils/flashrom/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/flashrom/Makefile b/utils/flashrom/Makefile index f3af5d7bf..6fee21da1 100644 --- a/utils/flashrom/Makefile +++ b/utils/flashrom/Makefile @@ -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 From 6268cd77c8c59ef690da4f6f80a3f56a5eea5039 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 13:53:30 -0800 Subject: [PATCH 32/38] rtl-sdr: switch to git tarball Upstream switched URLs. Signed-off-by: Rosen Penev --- utils/rtl-sdr/Makefile | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/utils/rtl-sdr/Makefile b/utils/rtl-sdr/Makefile index 8237d4a12..fc788fc1f 100644 --- a/utils/rtl-sdr/Makefile +++ b/utils/rtl-sdr/Makefile @@ -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 +PKG_LICENSE:=GPL-2.0-or-later +PKG_LICENSE_FILES:=COPYING include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk From c4d28c9ba4ec6694d11048a0bc308845211e872d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 13:41:37 -0800 Subject: [PATCH 33/38] python3-libsemanage: fix URL Signed-off-by: Rosen Penev --- lang/python/python3-libsemanage/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/python/python3-libsemanage/Makefile b/lang/python/python3-libsemanage/Makefile index c1670e567..c1a825767 100644 --- a/lang/python/python3-libsemanage/Makefile +++ b/lang/python/python3-libsemanage/Makefile @@ -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 From 947210e2d2127c395a0dfd3e468f2e6296d17f24 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Jan 2023 13:27:36 -0800 Subject: [PATCH 34/38] python3-libselinux: fix URL Signed-off-by: Rosen Penev --- lang/python/python3-libselinux/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python3-libselinux/Makefile b/lang/python/python3-libselinux/Makefile index d51c4035b..95cb2a813 100644 --- a/lang/python/python3-libselinux/Makefile +++ b/lang/python/python3-libselinux/Makefile @@ -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 From 5435ddb8f8f626997202b96d0cc1306c2da03a75 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 15 Jan 2023 20:13:16 +0100 Subject: [PATCH 35/38] snowflake: update to 2.4.2 Changes in version v2.4.2 - 2023-01-13 - Issue 40208: Enhance help info for capacity flag - Issue 40232: Update README and fix help output - Issue 40173: Increase clientIDAddrMapCapacity - Issue 40177: Manually unlock mutex in ClientMap.SendQueue - Issue 40177: Have SnowflakeClientConn implement io.WriterTo - Issue 40179: Reduce turbotunnel queueSize from 2048 to 512 - Issue 40187/40199: Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo - Add more tests for URL encoded IPs (safelog) - Fix server flag name - Issue 40200: Use multiple parallel KCP state machines in the server - Add a num-turbotunnel server transport option - Issue: 40241: Switch default proxy STUN server to stun.l.google.com Signed-off-by: Nick Hainke --- net/snowflake/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/snowflake/Makefile b/net/snowflake/Makefile index 2b4685d56..7254f2eaa 100644 --- a/net/snowflake/Makefile +++ b/net/snowflake/Makefile @@ -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 From 48221441c4fd377965b7f37f5bcc24baa36aacb3 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 19 Sep 2021 01:23:17 -0700 Subject: [PATCH 36/38] libgd: update to 2.3.3 Refresh patches. Signed-off-by: Rosen Penev --- libs/libgd/Makefile | 6 +++--- libs/libgd/patches/010-webp.patch | 4 ++-- libs/libgd/patches/100-no-cxx.patch | 12 +++++------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/libs/libgd/Makefile b/libs/libgd/Makefile index 4ca2eff2b..9e0108915 100644 --- a/libs/libgd/Makefile +++ b/libs/libgd/Makefile @@ -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 PKG_LICENSE:=MIT diff --git a/libs/libgd/patches/010-webp.patch b/libs/libgd/patches/010-webp.patch index e68a8ac53..2b21bab81 100644 --- a/libs/libgd/patches/010-webp.patch +++ b/libs/libgd/patches/010-webp.patch @@ -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) diff --git a/libs/libgd/patches/100-no-cxx.patch b/libs/libgd/patches/100-no-cxx.patch index 3deb6cc94..63c733ab1 100644 --- a/libs/libgd/patches/100-no-cxx.patch +++ b/libs/libgd/patches/100-no-cxx.patch @@ -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 From 99d6d25bb5ce31f0a12d230b91c56b0097a7bb58 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Mon, 16 Jan 2023 16:26:41 +0800 Subject: [PATCH 37/38] yq: Update to 4.30.8 Signed-off-by: Tianling Shen --- utils/yq/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/yq/Makefile b/utils/yq/Makefile index 33cfb4066..b386e94f0 100644 --- a/utils/yq/Makefile +++ b/utils/yq/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=yq -PKG_VERSION:=4.30.7 +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:=84dff2f03ae34b84032a36e381440b78684a9eb5cf849789878da78e94fcd679 +PKG_HASH:=aaf6c9f37968970413b8a6daf0b313a86efd1b8e3e5959e527b50636508eb776 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MIT From 12fd3cfe1e2d96f9e5d9c69260cf21e7f6bede45 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sun, 15 Jan 2023 13:18:35 +0100 Subject: [PATCH 38/38] atlas-sw-probe: update to version 5080 Signed-off-by: Josef Schlehofer --- net/atlas-sw-probe/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/atlas-sw-probe/Makefile b/net/atlas-sw-probe/Makefile index 4ea2e3eaa..51b0256bc 100644 --- a/net/atlas-sw-probe/Makefile +++ b/net/atlas-sw-probe/Makefile @@ -7,15 +7,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=atlas-sw-probe -PKG_VERSION:=5040 +PKG_VERSION:=5080 PKG_RELEASE:=1 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 PKG_LICENSE:=GPL-3.0-or-later