pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/security/nettle



Hi,

Gnutls has an issue for nettle 4.0.
https://gitlab.com/gnutls/gnutls/-/issues/1791
And it has no patch yet.

Thank you.

On Fri, Feb 6, 2026 at 10:26 PM Ryo ONODERA <ryo%tetera.org@localhost> wrote:
>
> Hi,
>
> Gnutls is not buildable with nettle 4.0.
> And I feel that a fix is not trivial.
>
> Do you have a patch to fix gnutls build?
>
> Thank you.
>
> --
> Ryo ONODERA // ryo%tetera.org@localhost
> PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3
>
> On Fri, Feb 6, 2026, 19:02 Thomas Klausner <wiz%netbsd.org@localhost> wrote:
>>
>> Module Name:    pkgsrc
>> Committed By:   wiz
>> Date:           Fri Feb  6 10:02:02 UTC 2026
>>
>> Modified Files:
>>         pkgsrc/security/nettle: Makefile PLIST distinfo
>>         pkgsrc/security/nettle/patches: patch-Makefile.in
>>
>> Log Message:
>> nettle: update to 4.0.
>>
>> NEWS for the Nettle 4.0 release
>>
>>         This is a new major release. It includes one new feature,
>>         support for SLH-DSA. There are several changes to Nettle's
>>         API, as well as deletion of obsolete features. There are also
>>         several improvements to the ABI that leaves the API mostly
>>         unchanged, in particular, smaller context structs for several
>>         algorithms.
>>
>>         The most disruptive API change is that the *_digest functions
>>         no longer takes the desired digest size as argument. Truncated
>>         hashes appeared to be an important use case decades ago when
>>         the previous interface was designed, but that is now rather
>>         obscure.
>>
>>         Feedback on the new interfaces is appreciated, e.g., if the
>>         variable tag length for OCB and CCM should be supported
>>         differently, if additional types would benefit from larger
>>         alignment, or if there are remaining interface bugs or
>>         inconsistencies. Smaller additional API or ABI changes may be
>>         considered for the next release, Nettle-4.1, but after that,
>>         the intention is that both ABI and API should stay backwards
>>         compatible for a longer time.
>>
>>         The shared library names are libnettle.so.9.0 and
>>         libhogweed.so.7.0, with new sonames libnettle.so.9 and
>>         libhogweed.so.7.
>>
>>         Interface changes:
>>
>>         * The _digest functions for hash algorithms, MACs and AEADs no
>>           longer take the desired digest size as argument, instead,
>>           they always produce the full-size digest. The typedef
>>           nettle_hash_digest_func has also been changed accordingly.
>>
>>           There are two exceptions: CCM and OCB. These AEAD algorithms
>>           are specified with a variable tag length, which is not a
>>           mere truncation of the output. Their _digest functions
>>           (ccm_digest, ocb_digest, ccm_ae128_digest, ...) also have
>>           their length argument deleted, but they still produce a
>>           variable size digest. The number of octets to write (at most
>>           16) is stored into the context struct by the corresponding
>>           _set_nonce function.
>>
>>         * The functions to process complete messages using CCM AES now
>>           take a const cipher context as the first argument, e.g,
>>           first argument to ccm_aes128_encrypt_message is now a const
>>           struct aes128_ctx *. It used to be a struct ccm_aes128_ctx
>>           *, where everything but the underlying cipher context was
>>           ignored.
>>
>>         * The SHA3 functions now use the same struct sha3_ctx for all
>>           flavors, and the same function sha3_init. Old names, e.g.,
>>           sha3_256_ctx and sha3_256_init, are defined as preprocessor
>>           aliases, for backwards compatibility.
>>
>>         * The dst_length argument to base16_decode_update and
>>           base64_decode_update is now both an input and output
>>           argument. On input it must now hold the size of the
>>           destination buffer, and decoding fails if that is not
>>           sufficient. Previously, dst_length was an output only, and
>>           it was required that the destination buffer was large enough
>>           for any input of the given src_length.
>>
>>         Interface deletions:
>>
>>         * Deleted the old struct aes_ctx, and all functions operating
>>           on it. Use the fixed key size interfaces instead, e.g.,
>>           struct aes256_ctx, introduced in Nettle-3.0.
>>
>>         * Deleted dsa-compat.h, and everything declared therein. Use
>>           the interface in dsa.h, introduced in Nettle-3.0.
>>
>>         * Deleted old header sha.h. Use sha1.h or sha2.h instead, as
>>           appropriate.
>>
>>         * Deleted the general HMAC interface, with functions like
>>           hmac_set_key that work with an arbitrary underlying hash
>>           function. Use the specific hmac functions instead, e.g.,
>>           hmac_sha256_set_key, or the mac abstraction defined in
>>           nettle-meta.h, e.g, the nettle_hmac_sha256 instance.
>>
>>         * Deleted the undocumented struct nettle_armor abstraction.
>>
>>         * Deleted the undocumented function base64_encode_group.
>>
>>         * Deleted md5-compat.h, and everything declared therein. Use
>>           the interface in md5.h instead (or even better, stop using md5).
>>
>>         * Deleted pgp.h, and everything declared therein. This attempt
>>           to support openpgp formats was incomplete, undocumented, and
>>           mostly obsolete.
>>
>>         * Delete all the *_DATA_SIZE compatibility aliases. Use
>>           corresponding *_BLOCK_SIZE constants instead, introduced in
>>           Nettle-3.0.
>>
>>         * Deleted the obsolete functions _rsa_blind and _rsa_unblind.
>>           (Current RSA blinding in Nettle uses internal functions with
>>           a different interface).
>>
>>         * Delete compatibility aliases salsa20_set_iv,
>>           SALSA20_IV_SIZE. These were renamed to salsa20_set_nonce and
>>           SALSA20_NONCE_SIZE in Nettle-3.0.
>>
>>         * Deleted compatibility aliases _nettle_md5_compress,
>>           _nettle_sha1_compress. These internal functions were
>>           promoted to documented and supported functions in
>>           Nettle-3.9, with new names md5_compress and sha1_compress.
>>
>>         * Deleted compatibility alias yarrow_force_reseed. Renamed to
>>           yarrow_slow_reseed in Nettle-2.0.
>>
>>         ABI changes and improvements.
>>
>>         * Introduce 16-byte alignment on certain types. Applied to
>>           union nettle_block16, and subkey arrays of AES and UMAC.
>>           This is intended to improve performance for SIMD load and
>>           store instructions, which on some platforms may be faster
>>           with proper alignment. The larger alignment is enabled only
>>           for platforms where the alignment of the uint64_t type is 8.
>>
>>         * Size of struct gcm_key is reduced from 4096 bytes to 2048.
>>
>>         * Size of the new sha3_ctx is considerable smaller, 216 bytes,
>>           than the previous types that included a buffer for a
>>           complete block. E.g., the largest one, for sha3_128_ctx
>>           (shake128), used to be 376 bytes.
>>
>>         * Size of HMAC contexts have been reduced, by not including
>>           multiple block buffers. E.g, size of struct hmac_sha256_ctx
>>           reduced from 336 bytes to 192. This change has been
>>           discussed for a long time, with first attempt made by Dmitry
>>           Baryshkov years ago, but delayed, since it implies an ABI
>>           break.
>>
>>         * For OCB block counters, use type uint32_t for blocks of
>>           associated data, and uint64_t for message blocks, instead of
>>           size_t. This makes the implementation limits the same for
>>           32-bit and 64-bit platforms.
>>
>>         Bug fixes:
>>
>>         * Fix off-by-one bug in sexp parser, which could result in a
>>           one byte overread on invalid input. Also fix excessive
>>           recursion and stack usage for some inputs. Both problems
>>           reported via oss-fuzz.
>>
>>         * Fix ed448_shake256_verify to check that the final signature
>>           octet is zero (previous versions completely ignored this
>>           somewhat redundant octet). Reported by Oren Yomtov.
>>
>>         New features:
>>
>>         * Support for SLH-DSA signatures (stateless hash-based digital
>>           signature algorithm). See the Nettle manual for details.
>>
>>         * New public function drbg_ctr_aes256_update, to enable
>>           FIPS-compliant reseeding. Contributed by Daiki Ueno.
>>
>>         Configure and build changes:
>>
>>         * Support for at least C99 is required when building Nettle.
>>           In addition, support for alignof and alignas is required;
>>           these are part of C11, but intention is that this is the
>>           only required C11 feature.
>>
>>         * The unusual configure options --with-lib-path and
>>           --with-include-path has been deleted. Use CFLAGS and LDFLAGS
>>           instead. This implies that Nettle's configure script no
>>           longer attempts to add rpath-related linker flags
>>           automagically; if any are needed, they must be passed in
>>           LDFLAGS.
>>
>>         * The logic to sometimes change the default libdir has been
>>           deleted. Previously, configure tried to be helpful and
>>           change the default, e.g., to ${exec_prefix}/lib32 when you
>>           build 32-bit libraries on a system where ${exec_prefix}/lib
>>           is for 64-bit libraries. If you relied on this behavior, you
>>           now have to use the --libdir configure option.
>>
>>         * Rearranged getopt files, now based on gnulib copies.
>>
>>
>> To generate a diff of this commit:
>> cvs rdiff -u -r1.34 -r1.35 pkgsrc/security/nettle/Makefile
>> cvs rdiff -u -r1.14 -r1.15 pkgsrc/security/nettle/PLIST
>> cvs rdiff -u -r1.31 -r1.32 pkgsrc/security/nettle/distinfo
>> cvs rdiff -u -r1.11 -r1.12 pkgsrc/security/nettle/patches/patch-Makefile.in
>>
>> Please note that diffs are not public domain; they are subject to the
>> copyright notices on the relevant files.
>>


-- 
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3



Home | Main Index | Thread Index | Old Index