Latest libsodium-1.0.19-stable.tar.gz

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4788 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
Cory McWilliams 2024-01-23 02:18:59 +00:00
parent 0db4bb06c9
commit a0df336abe
19 changed files with 2460 additions and 1718 deletions

View File

@ -40,17 +40,16 @@ jobs:
- name: Update packages list - name: Update packages list
run: sudo apt-get update run: sudo apt-get update
- name: Install dependencies - name: Install Zig
run: | uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
curl -sL -o - https://ziglang.org/download/0.11.0/zig-linux-x86_64-0.11.0.tar.xz | tar xJ -f - -C /opt/ with:
sudo mv /opt/zig-* /opt/zig version: 0.11.0
- name: Autogen - name: Autogen
run: ./autogen.sh -s run: ./autogen.sh -s
- name: Compilation with zig - name: Compilation with zig
run: | run: |
export PATH=/opt/zig:$PATH
zig build zig build
zig build -Dtarget=x86_64-linux zig build -Dtarget=x86_64-linux
zig build -Dtarget=aarch64-linux zig build -Dtarget=aarch64-linux
@ -177,5 +176,4 @@ jobs:
- name: Android compilation - name: Android compilation
run: | run: |
env ANDROID_NDK_HOME=/tmp/android/ndk ./dist-build/android-x86.sh env ANDROID_NDK_HOME=/tmp/android/ndk ./dist-build/android-aar.sh
env ANDROID_NDK_HOME=/tmp/android/ndk ./dist-build/android-armv8-a.sh

View File

@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -46,7 +46,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- name: Set up emulation environment - name: Set up emulation environment
@ -74,7 +74,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- name: Set up emulation environment - name: Set up emulation environment
@ -108,7 +108,7 @@ jobs:
apk update apk update
apk add alpine-sdk ca-certificates xz apk add alpine-sdk ca-certificates xz
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -127,7 +127,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -143,7 +143,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Zig - name: Install Zig
uses: goto-bus-stop/setup-zig@6fede2f0550d71291c0accf2834b216e69a2d67a uses: goto-bus-stop/setup-zig@d866436887ad1b24590684f9d00480376663dd36
with: with:
version: 0.11.0 version: 0.11.0
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@ -1,10 +1,13 @@
* Version 1.0.19-stable * Version 1.0.19-stable
- Building with `zig build` now works both with Zig 0.11 and Zig 0.12. - Building with `zig build` now requires Zig 0.12.
- When using the traditional build system, -O3 is used instead of -Ofast. - When using the traditional build system, -O3 is used instead of -Ofast.
- Improved detection of the compiler flags required on aarch64. - Improved detection of the compiler flags required on aarch64.
- Improved compatibility with custom build systems on aarch64. - Improved compatibility with custom build systems on aarch64.
- apple-xcframework: VisionOS packages are not built if Xcode doesn't - apple-xcframework: VisionOS packages are not built if Xcode doesn't
include that SDK. include that SDK.
- `crypto_kdf_hkdf_sha512_statebytes()` was added.
- When using Visual Studio, runtime CPU feature detection is now enabled
on Windows/aarch64.
* Version 1.0.19 * Version 1.0.19
This release includes all the changes from 1.0.18-stable, as well as two This release includes all the changes from 1.0.18-stable, as well as two

View File

@ -1,7 +1,7 @@
/* /*
* ISC License * ISC License
* *
* Copyright (c) 2013-2023 * Copyright (c) 2013-2024
* Frank Denis <j at pureftpd dot org> * Frank Denis <j at pureftpd dot org>
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any

View File

@ -14,8 +14,8 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
[m4_warning([this file was generated for autoconf 2.71. [m4_warning([this file was generated for autoconf 2.72.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])

View File

@ -48,7 +48,7 @@ jobs:
vmImage: "windows-2019" vmImage: "windows-2019"
steps: steps:
- powershell: | - powershell: |
(New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2023-07-18/msys2-base-x86_64-20230718.sfx.exe", "sfx.exe") (New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-base-x86_64-20230718.sfx.exe", "sfx.exe")
.\sfx.exe -y -o\ .\sfx.exe -y -o\
del sfx.exe del sfx.exe
displayName: Install MSYS2 displayName: Install MSYS2
@ -87,7 +87,7 @@ jobs:
vmImage: "windows-2019" vmImage: "windows-2019"
steps: steps:
- powershell: | - powershell: |
(New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2023-07-18/msys2-base-x86_64-20230718.sfx.exe", "sfx.exe") (New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-base-x86_64-20240113.sfx.exe", "sfx.exe")
.\sfx.exe -y -o\ .\sfx.exe -y -o\
del sfx.exe del sfx.exe
displayName: Install MSYS2 displayName: Install MSYS2

View File

@ -249,7 +249,7 @@ pub fn build(b: *std.build.Builder) !void {
else => {}, else => {},
} }
var allocator = heap.page_allocator; const allocator = heap.page_allocator;
var walker = try src_dir.walk(allocator); var walker = try src_dir.walk(allocator);
while (try walker.next()) |entry| { while (try walker.next()) |entry| {
const name = entry.basename; const name = entry.basename;
@ -280,7 +280,7 @@ pub fn build(b: *std.build.Builder) !void {
fs.Dir.makePath(cwd, out_bin_path) catch {}; fs.Dir.makePath(cwd, out_bin_path) catch {};
const out_bin_dir = try fs.Dir.openDir(cwd, out_bin_path, .{}); const out_bin_dir = try fs.Dir.openDir(cwd, out_bin_path, .{});
try test_dir.dir.copyFile("run.sh", out_bin_dir, "run.sh", .{}); try test_dir.dir.copyFile("run.sh", out_bin_dir, "run.sh", .{});
var allocator = heap.page_allocator; const allocator = heap.page_allocator;
var walker = try test_dir.walk(allocator); var walker = try test_dir.walk(allocator);
if (build_tests) { if (build_tests) {
while (try walker.next()) |entry| { while (try walker.next()) |entry| {

View File

@ -49,7 +49,7 @@ BEGIN
VALUE "FileDescription", "The Sodium crypto library (libsodium)" VALUE "FileDescription", "The Sodium crypto library (libsodium)"
VALUE "FileVersion", LIBSODIUM_VERSION_STRING VALUE "FileVersion", LIBSODIUM_VERSION_STRING
VALUE "InternalName", "libsodium" VALUE "InternalName", "libsodium"
VALUE "LegalCopyright", "Copyright (c) 2013-2023 The libsodium authors." VALUE "LegalCopyright", "Copyright (c) 2013-2024 The libsodium authors."
VALUE "OriginalFilename", "libsodium.dll" VALUE "OriginalFilename", "libsodium.dll"
VALUE "ProductName", LIBSODIUM_PRODUCT_NAME VALUE "ProductName", LIBSODIUM_PRODUCT_NAME
VALUE "ProductVersion", LIBSODIUM_VERSION_STRING VALUE "ProductVersion", LIBSODIUM_VERSION_STRING

4090
deps/libsodium/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -62,7 +62,7 @@ fi
--with-sysroot="${TOOLCHAIN_DIR}/sysroot" || exit 1 --with-sysroot="${TOOLCHAIN_DIR}/sysroot" || exit 1
if [ "$NDK_PLATFORM" != "$NDK_PLATFORM_COMPAT" ]; then if [ "$NDK_PLATFORM" != "$NDK_PLATFORM_COMPAT" ]; then
egrep '^#define ' config.log | sort -u >config-def-compat.log grep -E '^#define ' config.log | sort -u >config-def-compat.log
echo echo
echo "Configuring again for platform [${NDK_PLATFORM}]" echo "Configuring again for platform [${NDK_PLATFORM}]"
echo echo

File diff suppressed because one or more lines are too long

View File

@ -116,3 +116,8 @@ crypto_kdf_hkdf_sha512_bytes_max(void)
{ {
return crypto_kdf_hkdf_sha512_BYTES_MAX; return crypto_kdf_hkdf_sha512_BYTES_MAX;
} }
size_t crypto_kdf_hkdf_sha512_statebytes(void)
{
return sizeof(crypto_kdf_hkdf_sha512_state);
}

View File

@ -56,6 +56,7 @@ crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk,
return -1; return -1;
} }
fe25519_1(one_minus_y); fe25519_1(one_minus_y);
/* assumes A.Z=1 */
fe25519_sub(one_minus_y, one_minus_y, A.Y); fe25519_sub(one_minus_y, one_minus_y, A.Y);
fe25519_1(x); fe25519_1(x);
fe25519_add(x, x, A.Y); fe25519_add(x, x, A.Y);

View File

@ -1,13 +1,6 @@
#ifndef crypto_onetimeauth_poly1305_H #ifndef crypto_onetimeauth_poly1305_H
#define crypto_onetimeauth_poly1305_H #define crypto_onetimeauth_poly1305_H
#ifdef __cplusplus
# ifdef __GNUC__
# pragma GCC diagnostic ignored "-Wlong-long"
# endif
extern "C" {
#endif
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -16,6 +9,13 @@ extern "C" {
#include "export.h" #include "export.h"
#ifdef __cplusplus
# ifdef __GNUC__
# pragma GCC diagnostic ignored "-Wlong-long"
# endif
extern "C" {
#endif
typedef struct CRYPTO_ALIGN(16) crypto_onetimeauth_poly1305_state { typedef struct CRYPTO_ALIGN(16) crypto_onetimeauth_poly1305_state {
unsigned char opaque[256]; unsigned char opaque[256];
} crypto_onetimeauth_poly1305_state; } crypto_onetimeauth_poly1305_state;

View File

@ -135,7 +135,7 @@ int crypto_pwhash_str_needs_rehash(const char *str,
unsigned long long opslimit, size_t memlimit) unsigned long long opslimit, size_t memlimit)
__attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); __attribute__ ((warn_unused_result)) __attribute__ ((nonnull));
#define crypto_pwhash_PRIMITIVE "argon2i" #define crypto_pwhash_PRIMITIVE "argon2id,argon2i"
SODIUM_EXPORT SODIUM_EXPORT
const char *crypto_pwhash_primitive(void) const char *crypto_pwhash_primitive(void)
__attribute__ ((warn_unused_result)); __attribute__ ((warn_unused_result));

View File

@ -250,6 +250,9 @@ xor_buf(unsigned char *out, const unsigned char *in, size_t n)
# elif defined(_M_ARM64) # elif defined(_M_ARM64)
# ifndef __ARM_ARCH
# define __ARM_ARCH 1
# endif
# ifndef __ARM_NEON # ifndef __ARM_NEON
# define __ARM_NEON 1 # define __ARM_NEON 1
# endif # endif

View File

@ -5,7 +5,7 @@ CT='ct.c'
echo '#include <assert.h>' > "$CT" echo '#include <assert.h>' > "$CT"
echo '#include <sodium.h>' >> "$CT" echo '#include <sodium.h>' >> "$CT"
echo 'int main(void) {' >> "$CT" echo 'int main(void) {' >> "$CT"
for macro in $(egrep -r '#define crypto_.*BYTES(_[A-Z]+)? ' src/libsodium/include | \ for macro in $(grep -Er '#define crypto_.*BYTES(_[A-Z]+)? ' src/libsodium/include | \
cut -d: -f2- | cut -d' ' -f2 | \ cut -d: -f2- | cut -d' ' -f2 | \
fgrep -v edwards25519sha512batch | sort -u); do fgrep -v edwards25519sha512batch | sort -u); do
func=$(echo "$macro" | tr A-Z a-z) func=$(echo "$macro" | tr A-Z a-z)

View File

@ -81,10 +81,12 @@ tv_kdf_hkdf(void)
assert(crypto_kdf_hkdf_sha512_bytes_min() == crypto_kdf_hkdf_sha512_BYTES_MIN); assert(crypto_kdf_hkdf_sha512_bytes_min() == crypto_kdf_hkdf_sha512_BYTES_MIN);
assert(crypto_kdf_hkdf_sha512_bytes_max() == crypto_kdf_hkdf_sha512_BYTES_MAX); assert(crypto_kdf_hkdf_sha512_bytes_max() == crypto_kdf_hkdf_sha512_BYTES_MAX);
assert(crypto_kdf_hkdf_sha512_keybytes() == crypto_kdf_hkdf_sha512_KEYBYTES); assert(crypto_kdf_hkdf_sha512_keybytes() == crypto_kdf_hkdf_sha512_KEYBYTES);
assert(crypto_kdf_hkdf_sha512_statebytes() >= sizeof (crypto_kdf_hkdf_sha512_state));
assert(crypto_kdf_hkdf_sha256_bytes_min() == crypto_kdf_hkdf_sha256_BYTES_MIN); assert(crypto_kdf_hkdf_sha256_bytes_min() == crypto_kdf_hkdf_sha256_BYTES_MIN);
assert(crypto_kdf_hkdf_sha256_bytes_max() == crypto_kdf_hkdf_sha256_BYTES_MAX); assert(crypto_kdf_hkdf_sha256_bytes_max() == crypto_kdf_hkdf_sha256_BYTES_MAX);
assert(crypto_kdf_hkdf_sha256_keybytes() == crypto_kdf_hkdf_sha256_KEYBYTES); assert(crypto_kdf_hkdf_sha256_keybytes() == crypto_kdf_hkdf_sha256_KEYBYTES);
assert(crypto_kdf_hkdf_sha256_statebytes() >= sizeof (crypto_kdf_hkdf_sha256_state));
assert(crypto_kdf_hkdf_sha256_KEYBYTES < crypto_kdf_hkdf_sha512_KEYBYTES); assert(crypto_kdf_hkdf_sha256_KEYBYTES < crypto_kdf_hkdf_sha512_KEYBYTES);

View File

@ -432,7 +432,7 @@ main(void)
assert(crypto_pwhash_memlimit_moderate() > 0U); assert(crypto_pwhash_memlimit_moderate() > 0U);
assert(crypto_pwhash_opslimit_sensitive() > 0U); assert(crypto_pwhash_opslimit_sensitive() > 0U);
assert(crypto_pwhash_memlimit_sensitive() > 0U); assert(crypto_pwhash_memlimit_sensitive() > 0U);
assert(strcmp(crypto_pwhash_primitive(), "argon2i") == 0); assert(strcmp(crypto_pwhash_primitive(), "argon2id,argon2i") == 0);
assert(crypto_pwhash_bytes_min() == crypto_pwhash_BYTES_MIN); assert(crypto_pwhash_bytes_min() == crypto_pwhash_BYTES_MIN);
assert(crypto_pwhash_bytes_max() == crypto_pwhash_BYTES_MAX); assert(crypto_pwhash_bytes_max() == crypto_pwhash_BYTES_MAX);