Commit Graph
4299 Commits
Author SHA1 Message Date
Frank Denis 0b6ae918af Merge branch 'stable' of https://github.com/jedisct1/libsodium into stable
* 'stable' of https://github.com/jedisct1/libsodium:
  Document the LTO change
2026-01-22 10:39:10 +01:00
Frank Denis 9486c53695 Emscripten: add an option to compile with SIMD 2026-01-22 10:38:35 +01:00
Frank Denis aa1d5c8d66 Document the LTO change 2026-01-18 14:40:59 +01:00
Frank Denis e4c2190330 randombytes: cleanup the JavaScript path
Refactor Emscripten handling to use a proper
randombytes_implementation struct instead of scattered #ifdef
blocks.
2026-01-17 12:28:29 +01:00
Frank Denis aa0126c996 Emscripten: remove LTO
In Emscripten 4, LTO seems to be causing significant performance
regressions in the webassembly code.

Reported by @cooper667 -- Thanks!

See https://github.com/jedisct1/libsodium.js/issues/359
2026-01-17 12:20:09 +01:00
Frank Denis a937222006 Compatibility with gcc 4.x
Reported by @pedro0311

Fixes #1507
2026-01-13 23:00:25 +01:00
Frank Denis 4d6e5f280d Bump max memory of JavaScript Sumo builds to 80 MiB
So that crypto_pwhash functions can work with the interactive
settings in pure JavaScript, without WebAssembly.
2026-01-11 22:59:35 +01:00
Frank Denis 9a310ef9a4 Update ChangeLog 2026-01-11 20:03:13 +01:00
Frank Denis 52a37c79fe CI: test more aarch64-gcc combinations 2026-01-11 18:08:54 +01:00
Frank Denis 3804ecc0e2 Add ARM acceleration for SHA3 2026-01-11 17:13:18 +01:00
Frank Denis 1a572b5028 Update ChangeLog 2026-01-08 12:00:32 +01:00
T 70855b3290 build.zig: fix using as a dependency in other projects (#1505) 2026-01-08 07:08:56 +01:00
Frank Denis be0abde71e Try installing VS2019 manually 2026-01-07 16:39:23 +01:00
Frank Denis 40e599c50b Windows Server 2019 has been retired from Azure Pipelines
See https://devblogs.microsoft.com/devops/upcoming-updates-for-azure-pipelines-agents-images/
2026-01-07 16:39:20 +01:00
Frank Denis 20e50006e5 Update ChangeLog 2026-01-07 23:06:08 +01:00
Frank Denis 6b48659e3d Export missing crypto_ipcrypt_nd_keygen() helper function 2026-01-07 23:00:08 +01:00
Frank Denis fc2e4ba002 Brad Barden (@IAMB) wrote bindings for Perl 2026-01-07 12:36:15 +01:00
Frank Denis 3ce49ae85d CI: compile using GCC on aarch64 2026-01-07 11:25:27 +01:00
Frank Denis 3525fdeacc Update ChangeLog 2026-01-07 12:05:49 +01:00
Frank Denis 91fe8a46ec Fix compilation with GCC on aarch64
Use unsigned NEON intrinsics everywhere

Fixes #1502
2026-01-07 12:00:49 +01:00
Frank Denis d24faf5621 Regen 1.0.21-RELEASE 2026-01-06 15:42:08 +01:00
Frank Denis 6a569ef3be Relax alignment of SHAKE states 2026-01-06 15:42:08 +01:00
Frank Denis d66b358741 Add crypto_core_keccak1600_state, remove keccak1600_STATEBYTES 2026-01-06 15:42:08 +01:00
Frank Denis fa79f073ad Add more tests 2026-01-06 15:42:08 +01:00
Frank Denis 995c501554 Rename parameters to improve clarity 2026-01-06 15:42:08 +01:00
Frank Denis 7fcc982618 Change sodium_ip2bin to take the ip length 2026-01-06 15:42:08 +01:00
Frank Denis 7df634f2c5 Remove unnecessary checks 2026-01-06 15:42:08 +01:00
Frank Denis 7572dcccb9 Sync prototypes 2026-01-06 15:42:08 +01:00
Frank Denis 2fd321e42c Remove unused constants 2026-01-06 15:42:08 +01:00
Frank Denis f7e948f75a Typos 2026-01-06 15:42:08 +01:00
Frank Denis ae7ca7ef13 Bump 2026-01-06 15:42:08 +01:00
Frank Denis b4263fc800 Add missing prototype 2026-01-06 15:42:08 +01:00
Frank Denis d832790fa6 Regen emscripten 2026-01-06 15:42:08 +01:00
Frank Denis ff05585f75 Add sodium_ip2bin, sodium_bin2ip 2026-01-06 15:42:07 +01:00
Frank Denis 232a878877 MSVC doesn't allow direct C-style casts between NEON vector types
Replace (int8x16_t) with vreinterpretq intrinsics
2026-01-06 15:42:07 +01:00
Frank Denis f1eeb2787e Use a specialized shuffle macro and avoid non-portable builtins 2026-01-06 15:42:07 +01:00
Frank Denis ed5b6b4b20 Regen emscripten 2026-01-06 15:42:07 +01:00
Frank Denis c3c8617ac9 Update .gitignore 2026-01-06 15:42:07 +01:00
Frank Denis 5aa6d1910b Import ipcrypt 2026-01-06 15:42:07 +01:00
Frank Denis fe63b9cfb5 Regen MSVC solutions and add /UndefIntOverflow- 2026-01-06 15:42:07 +01:00
Frank Denis 350604eb25 Import SHAKE128, SHAKE256, TurboSHAKE128, and TurboSHAKE256
- crypto_core_keccak1600: Keccak-f[1600] permutation
- crypto_xof_shake128/256: FIPS 202 SHAKE functions
- crypto_xof_turboshake128/256: TurboSHAKE (faster, 12-round variant)
2026-01-06 15:42:07 +01:00
Frank Denis 348456f37a build-aux/depcomp may not even be needed 2026-01-06 15:42:07 +01:00
Frank Denis 93a7d0d41f Update ChangeLog 1.0.20-FINAL 2026-01-06 23:22:45 +01:00
Siddhesh Poyarekar a4832a91b1 Build correctly with IBT and Shadow Stack (#1289)
Add .gnu.property notes to indicate support for IBT and shadow stacks
when libsodium is built with it.  There's no stack switching code in
here, so this should not need any other codegen changes.
2026-01-06 15:38:52 +01:00
Frank Denis 22b9c35f28 Add fences 2026-01-06 23:17:45 +01:00
Frank Denis 76ddc9c983 Update GitHub actions 2026-01-06 15:15:18 +01:00
Frank Denis e7acc1a884 CI: update MSYS2 2026-01-06 15:01:17 +01:00
Frank Denis 9010e0634c Emscripten: handle empty CFLAGS 2026-01-06 23:09:45 +01:00
Frank Denis 8814186181 Regen 2026-01-06 23:01:45 +01:00
Frank Denis afc81e4429 Replace -s RESERVED_FUNCTION_POINTERS=8 with -sALLOW_TABLE_GROWTH 2026-01-06 14:43:19 +01:00