]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
nettle: Update to version 3.8.1
authorAdolf Belka <adolf.belka@ipfire.org>
Wed, 24 Aug 2022 07:50:47 +0000 (09:50 +0200)
committerPeter Müller <peter.mueller@ipfire.org>
Mon, 12 Sep 2022 09:43:25 +0000 (09:43 +0000)
- Update from version 3.7.3 to 3.8.1
- Update of rootfile
- Changelog
   3.8.1 release
This is a bugfix release, fixing a few portability issues
reported for Nettle-3.8.
Bug fixes:
* Avoid non-posix m4 argument references in the chacha
  implementation for arm64, powerpc64 and s390x. Reported by
  Christian Weisgerber, fix contributed by Mamone Tarsha.
* Use explicit .machine pseudo-ops where needed in s390x
  assembly files. Bug report by Andreas K. Huettel, fix
  contributed by Mamone Tarsha.
Optimizations:
* Implemented runtime detection of cpu features for OpenBSD on
  arm64. Contributed by Christian Weisgerber.
The new version is intended to be fully source and binary
compatible with Nettle-3.6. The shared library names are
libnettle.so.8.6 and libhogweed.so.6.6, with sonames
libnettle.so.8 and libhogweed.so.6.
   3.8 release
This release includes a couple of new features, and many
performance improvements. It adds assembly code for two more
architectures: ARM64 and S390x.
The new version is intended to be fully source and binary
compatible with Nettle-3.6. The shared library names are
libnettle.so.8.5 and libhogweed.so.6.5, with sonames
libnettle.so.8 and libhogweed.so.6.
New features:
* AES keywrap (RFC 3394), contributed by Nicolas Mora.
* SM3 hash function, contributed by Tianjia Zhang.
* New functions cbc_aes128_encrypt, cbc_aes192_encrypt,
  cbc_aes256_encrypt.
  On processors where AES is fast enough, e.g., x86_64 with
  aesni instructions, the overhead of using Nettle's general
  cbc_encrypt can be significant. The new functions can be
  implemented in assembly, to do multiple blocks with reduced
  per-block overhead.
  Note that there's no corresponding new decrypt functions,
  since the general cbc_decrypt doesn't suffer from the same
  performance problem.
Bug fixes:
* Fix fat builds for x86_64 windows, these appear to never
          have worked.
Optimizations:
* New ARM64 implementation of AES, GCM, Chacha, SHA1 and
  SHA256, for processors supporting crypto extensions. Great
  speedups, and fat builds are supported. Contributed by
  Mamone Tarsha.
* New s390x implementation of AES, GCM, Chacha, memxor, SHA1,
  SHA256, SHA512 and SHA3. Great speedups, and fat builds are
  supported. Contributed by Mamone Tarsha.
* New PPC64 assembly for ecc modulo/redc operations,
  contributed by Amitay Isaacs, Martin Schwenke and Alastair
  D´Silva.
* The x86_64 AES implementation using aesni instructions has
  been reorganized with one separate function per key size,
  each interleaving the processing of two blocks at a time
  (when the caller processes multiple blocks with each call).
  This gives a modest performance improvement on some
  processors.
* Rewritten and faster x86_64 poly1305 assembly.
Known issues:
* Nettle's testsuite doesn't work out-of-the-box on recent
  MacOS, due to /bin/sh discarding the DYLD_LIBRARY_PATH
  environment variable. Nettle's test scripts handle this in
  some cases, but currently fails the test cases that are
  themselves written as /bin/sh scripts. As a workaround, use
  make check EMULATOR='env DYLD_LIBRARY_PATH=$(TEST_SHLIB_DIR)'
Miscellaneous:
* Updated manual to current makeinfo conventions, with no
  explicit node pointers. Generate pdf version with texi2pdf,
  to get working hyper links.
* Added square root functions for NIST ecc curves, as a
  preparation for supporting compact point representation.
* Reworked internal GCM/ghash interfaces, simplifying assembly
  implementations. Deleted unused GCM C implementation
  variants with less than 8-bit lookup table.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
config/rootfiles/common/nettle
lfs/nettle

index cf1165e805d701eff73973a6370f4d26356d489b..a9f8aca438d92ae865ce8584a963a57277e58e93 100644 (file)
@@ -47,6 +47,7 @@
 #usr/include/nettle/memxor.h
 #usr/include/nettle/nettle-meta.h
 #usr/include/nettle/nettle-types.h
+#usr/include/nettle/nist-keywrap.h
 #usr/include/nettle/pbkdf2.h
 #usr/include/nettle/pgp.h
 #usr/include/nettle/pkcs1.h
@@ -64,6 +65,7 @@
 #usr/include/nettle/sha2.h
 #usr/include/nettle/sha3.h
 #usr/include/nettle/siv-cmac.h
+#usr/include/nettle/sm3.h
 #usr/include/nettle/streebog.h
 #usr/include/nettle/twofish.h
 #usr/include/nettle/umac.h
@@ -72,9 +74,9 @@
 #usr/include/nettle/yarrow.h
 usr/lib/libhogweed.so
 usr/lib/libhogweed.so.6
-usr/lib/libhogweed.so.6.4
+usr/lib/libhogweed.so.6.6
 #usr/lib/libnettle.so
 usr/lib/libnettle.so.8
-usr/lib/libnettle.so.8.4
+usr/lib/libnettle.so.8.6
 #usr/lib/pkgconfig/hogweed.pc
 #usr/lib/pkgconfig/nettle.pc
index 0c3657df994e2565e3dad10645bf150ecd3d8b28..779b87199bd5d68a1d0610192c69e8424ac83477 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.7.3
+VER        = 3.8.1
 
 THISAPP    = nettle-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 8d8efbbff98fc1f3eff3296681d3d72346e78392f356aebfe80138ae6ae1ebf3695bd7f74b906beef0cf3625ba6d84bdb43c0f6707f54f4d98870d50c90ac9a3
+$(DL_FILE)_BLAKE2 = 22b4ec81645b579504356597ba87b637e46285682020c90e03ecaea386ac9b48eaf91ee76ae3b86b6060be355de20c320ab3b74958074ad23fc08ad9ab6a4cbb
 
 install : $(TARGET)