diff --git a/src/3rdparty/blake2/0001-mark-the-API-static-so-it-cant-be-exported-from-QtCore.patch b/src/3rdparty/blake2/0001-mark-the-API-static-so-it-cant-be-exported-from-QtCore.patch new file mode 100644 index 00000000000..bfa4adbcdf1 --- /dev/null +++ b/src/3rdparty/blake2/0001-mark-the-API-static-so-it-cant-be-exported-from-QtCore.patch @@ -0,0 +1,67 @@ +From eb08d0a94e6f64c2ba78536c00c654102ed5cc41 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +Date: Thu, 19 Dec 2024 14:02:08 -0300 +Subject: mark the API static so it can't be exported + from QtCore + +This affects static builds, where symbol visibility doesn't apply. +--- + src/3rdparty/blake2/src/blake2.h | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/3rdparty/blake2/src/blake2.h b/src/3rdparty/blake2/src/blake2.h +index ca390305e60..0a90a9d2294 100644 +--- a/src/3rdparty/blake2/src/blake2.h ++++ b/src/3rdparty/blake2/src/blake2.h +@@ -142,17 +142,17 @@ extern "C" { + }; + + /* Streaming API */ +- int blake2s_init( blake2s_state *S, size_t outlen ); +- int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); +- int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); +- int blake2s_final( blake2s_state *S, void *out, size_t outlen ); +- +- int blake2b_init( blake2b_state *S, size_t outlen ); +- int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); +- int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); +- int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); +- int blake2b_final( blake2b_state *S, void *out, size_t outlen ); ++ static int blake2s_init( blake2s_state *S, size_t outlen ); ++ static int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); ++ static int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); ++ static int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); ++ static int blake2s_final( blake2s_state *S, void *out, size_t outlen ); ++ ++ static int blake2b_init( blake2b_state *S, size_t outlen ); ++ static int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); ++ static int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); ++ static int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); ++ static int blake2b_final( blake2b_state *S, void *out, size_t outlen ); + + int blake2sp_init( blake2sp_state *S, size_t outlen ); + int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ); +@@ -176,8 +176,8 @@ extern "C" { + int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); + + /* Simple API */ +- int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +- int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ static int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ static int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + + int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); +@@ -186,7 +186,7 @@ extern "C" { + int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + + /* This is simply an alias for blake2b */ +- int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); ++ static int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + + #if defined(__cplusplus) + } +-- +2.47.1 + diff --git a/src/3rdparty/blake2/REUSE.toml b/src/3rdparty/blake2/REUSE.toml index 114b6a49ef6..b36de512eaf 100644 --- a/src/3rdparty/blake2/REUSE.toml +++ b/src/3rdparty/blake2/REUSE.toml @@ -1,7 +1,7 @@ version = 1 [[annotations]] -path = ["src/blake2b-ref.c", "src/blake2s-ref.c", "src/blake2.h", "src/blake2-impl.h"] +path = ["src/blake2b-ref.c", "src/blake2s-ref.c", "src/blake2.h", "src/blake2-impl.h", "0001-mark-the-API-static-so-it-cant-be-exported-from-QtCore.patch"] comment = "Copyright line mixed with other text." precedence = "override" SPDX-FileCopyrightText = "Copyright 2012, Samuel Neves " diff --git a/src/3rdparty/blake2/qt_attribution.json b/src/3rdparty/blake2/qt_attribution.json index 1b79392b05f..99302219390 100644 --- a/src/3rdparty/blake2/qt_attribution.json +++ b/src/3rdparty/blake2/qt_attribution.json @@ -7,9 +7,9 @@ "Description": "BLAKE2 is a cryptographic hash function faster than MD5, SHA-1, SHA-2, and SHA-3, yet is at least as secure as the latest standard SHA-3.", "Homepage": "https://blake2.net/", - "Version": "54f4faa4c16ea34bcd59d16e8da46a64b259fc07", - "DownloadLocation": "https://github.com/BLAKE2/BLAKE2/tree/54f4faa4c16ea34bcd59d16e8da46a64b259fc07", - "PURL": "pkg:github/BLAKE2/BLAKE2@54f4faa4c16ea34bcd59d16e8da46a64b259fc07", + "Version": "ed1974ea83433eba7b2d95c5dcd9ac33cb847913", + "DownloadLocation": "https://github.com/BLAKE2/BLAKE2/tree/ed1974ea83433eba7b2d95c5dcd9ac33cb847913", + "PURL": "pkg:github/BLAKE2/BLAKE2@ed1974ea83433eba7b2d95c5dcd9ac33cb847913", "CPE": "cpe:2.3:a:blake2:blake2:*:*:*:*:*:*:*:*", "License": "Creative Commons Zero v1.0 Universal or Apache License 2.0", "LicenseId": "CC0-1.0 OR Apache-2.0", diff --git a/src/3rdparty/blake2/src/blake2.h b/src/3rdparty/blake2/src/blake2.h index ca390305e60..0a90a9d2294 100644 --- a/src/3rdparty/blake2/src/blake2.h +++ b/src/3rdparty/blake2/src/blake2.h @@ -142,17 +142,17 @@ extern "C" { }; /* Streaming API */ - int blake2s_init( blake2s_state *S, size_t outlen ); - int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); - int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); - int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); - int blake2s_final( blake2s_state *S, void *out, size_t outlen ); + static int blake2s_init( blake2s_state *S, size_t outlen ); + static int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen ); + static int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); + static int blake2s_update( blake2s_state *S, const void *in, size_t inlen ); + static int blake2s_final( blake2s_state *S, void *out, size_t outlen ); - int blake2b_init( blake2b_state *S, size_t outlen ); - int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); - int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); - int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); - int blake2b_final( blake2b_state *S, void *out, size_t outlen ); + static int blake2b_init( blake2b_state *S, size_t outlen ); + static int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen ); + static int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); + static int blake2b_update( blake2b_state *S, const void *in, size_t inlen ); + static int blake2b_final( blake2b_state *S, void *out, size_t outlen ); int blake2sp_init( blake2sp_state *S, size_t outlen ); int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen ); @@ -176,8 +176,8 @@ extern "C" { int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); /* Simple API */ - int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); - int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + static int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + static int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); @@ -186,7 +186,7 @@ extern "C" { int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); /* This is simply an alias for blake2b */ - int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); + static int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen ); #if defined(__cplusplus) } diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp index aefb91abecb..a38e9c2d3b1 100644 --- a/src/corelib/tools/qcryptographichash.cpp +++ b/src/corelib/tools/qcryptographichash.cpp @@ -111,8 +111,13 @@ static inline int SHA384_512AddLength(SHA512Context *context, unsigned int lengt #if QT_CONFIG(system_libb2) #include #else +QT_WARNING_PUSH +QT_WARNING_DISABLE_CLANG("-Wunused-function") +QT_WARNING_DISABLE_GCC("-Wunused-function") +QT_WARNING_DISABLE_MSVC(4505) #include "../../3rdparty/blake2/src/blake2b-ref.c" #include "../../3rdparty/blake2/src/blake2s-ref.c" +QT_WARNING_POP #endif #endif // QT_CRYPTOGRAPHICHASH_ONLY_SHA1