Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dnsmasq for openSUSE:Factory checked in at 2026-03-26 21:07:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dnsmasq (Old) and /work/SRC/openSUSE:Factory/.dnsmasq.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnsmasq" Thu Mar 26 21:07:41 2026 rev:104 rq:1342465 version:2.92 Changes: -------- --- /work/SRC/openSUSE:Factory/dnsmasq/dnsmasq.changes 2026-02-05 17:57:33.408449606 +0100 +++ /work/SRC/openSUSE:Factory/.dnsmasq.new.8177/dnsmasq.changes 2026-03-27 06:38:16.606206921 +0100 @@ -1,0 +2,5 @@ +Wed Mar 25 12:09:01 UTC 2026 - Reinhard Max <[email protected]> + +- boo#1257934, 4070a748.patch: Fix build with nettle 4.0. + +------------------------------------------------------------------- New: ---- 4070a748.patch ----------(New B)---------- New: - boo#1257934, 4070a748.patch: Fix build with nettle 4.0. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dnsmasq.spec ++++++ --- /var/tmp/diff_new_pack.o0VE10/_old 2026-03-27 06:38:17.450241709 +0100 +++ /var/tmp/diff_new_pack.o0VE10/_new 2026-03-27 06:38:17.450241709 +0100 @@ -40,6 +40,7 @@ Source5: rc.dnsmasq-suse Source6: system-user-dnsmasq.conf Patch0: dnsmasq-groups.patch +Patch1: 4070a748.patch BuildRequires: dbus-1-devel BuildRequires: dos2unix BuildRequires: libnettle-devel ++++++ 4070a748.patch ++++++ >From 4070a74862c3c956a676d2b931ff186e14f5d9f5 Mon Sep 17 00:00:00 2001 From: Simon Kelley <[email protected]> Date: Sun, 1 Mar 2026 12:01:12 +0000 Subject: [PATCH] Fix FTBFS with nettle 4.0. Thanks to Andreas Metzler for the heads-up. --- src/crypto.c | 23 ++++++++++++++++++++++- src/dnsmasq.h | 1 + src/dnssec.c | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) --- src/crypto.c.orig +++ src/crypto.c @@ -93,7 +93,15 @@ static void null_hash_update(void *ctxv, memcpy(null_hash_buff + ctx->len, src, length); ctx->len += length; } - + +/* The prototype changes in nettle 4.0 to omit the length argument */ +#if MIN_VERSION(4, 0) +static void null_hash_digest(void *ctx, uint8_t *dst) +{ + ((struct null_hash_digest *)dst)->buff = null_hash_buff; + ((struct null_hash_digest *)dst)->len = ((struct null_hash_ctx *)ctx)->len; +} +#else static void null_hash_digest(void *ctx, size_t length, uint8_t *dst) { (void)length; @@ -101,6 +109,7 @@ static void null_hash_digest(void *ctx, ((struct null_hash_digest *)dst)->buff = null_hash_buff; ((struct null_hash_digest *)dst)->len = ((struct null_hash_ctx *)ctx)->len; } +#endif static struct nettle_hash null_hash = { "null_hash", @@ -503,4 +512,16 @@ const struct nettle_hash *hash_find(char #endif } +/* The prototype changes in nettle 4.0 to omit the length argument */ +void nettle_digest_wrapper(const struct nettle_hash *hash, void *ctx, size_t length, uint8_t *dst) +{ +#if MIN_VERSION(4, 0) + (void)length; + hash->digest(ctx, dst); +#else + hash->digest(ctx, length, dst); +#endif +} + + #endif /* defined(HAVE_DNSSEC) */ --- src/dnsmasq.h.orig +++ src/dnsmasq.h @@ -1477,6 +1477,7 @@ int verify(struct blockdata *key_data, u char *ds_digest_name(int digest); char *algo_digest_name(int algo); char *nsec3_digest_name(int digest); +void nettle_digest_wrapper(const struct nettle_hash *hash, void *ctx, size_t length, uint8_t *dst); /* util.c */ void rand_init(void); --- src/dnssec.c.orig +++ src/dnssec.c @@ -657,7 +657,7 @@ static int validate_rrset(time_t now, st } } - hash->digest(ctx, hash->digest_size, digest); + nettle_digest_wrapper(hash, ctx, hash->digest_size, digest); /* namebuff used for workspace above, restore to leave unchanged on exit */ p = (unsigned char*)(rrset[0]);
