From 1323b81cd2679bb61a480524a0e4cd008d3d0bee Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 1 Jul 2026 21:37:09 +0200 Subject: Add support for the reference implementation of Argon2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- librecrypt_get_pepper_.c | 56 +++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 24 deletions(-) (limited to 'librecrypt_get_pepper_.c') diff --git a/librecrypt_get_pepper_.c b/librecrypt_get_pepper_.c index df2a82d..2d306dd 100644 --- a/librecrypt_get_pepper_.c +++ b/librecrypt_get_pepper_.c @@ -14,22 +14,14 @@ librecrypt_get_pepper_(LIBRECRYPT_CONTEXT *ctx, enum librecrypt_hash_algorithm a switch (algo) { #if defined(SUPPORT_ARGON2I) || defined(SUPPORT_ARGON2D) || defined(SUPPORT_ARGON2ID) || defined(SUPPORT_ARGON2DS) -# if defined(SUPPORT_ARGON2I) - case LIBRECRYPT_ARGON2I_V1_0: - case LIBRECRYPT_ARGON2I_V1_3: -# endif -# if defined(SUPPORT_ARGON2D) - case LIBRECRYPT_ARGON2D_V1_0: - case LIBRECRYPT_ARGON2D_V1_3: -# endif -# if defined(SUPPORT_ARGON2ID) - case LIBRECRYPT_ARGON2ID_V1_0: - case LIBRECRYPT_ARGON2ID_V1_3: -# endif -# if defined(SUPPORT_ARGON2DS) - case LIBRECRYPT_ARGON2DS_V1_0: - case LIBRECRYPT_ARGON2DS_V1_3: -# endif + IF__argon2i_v1_0__SUPPORTED(case LIBRECRYPT_ARGON2I_V1_0:) + IF__argon2i_v1_3__SUPPORTED(case LIBRECRYPT_ARGON2I_V1_3:) + IF__argon2d_v1_0__SUPPORTED(case LIBRECRYPT_ARGON2D_V1_0:) + IF__argon2d_v1_3__SUPPORTED(case LIBRECRYPT_ARGON2D_V1_3:) + IF__argon2id_v1_0__SUPPORTED(case LIBRECRYPT_ARGON2ID_V1_0:) + IF__argon2id_v1_3__SUPPORTED(case LIBRECRYPT_ARGON2ID_V1_3:) + IF__argon2ds_v1_0__SUPPORTED(case LIBRECRYPT_ARGON2DS_V1_0:) + IF__argon2ds_v1_3__SUPPORTED(case LIBRECRYPT_ARGON2DS_V1_3:) # if SIZE_MAX > UINT32_MAX /* LIBAR2_MAX_KEYLEN is just UINT32_MAX cast to size_t; keep it simple: don't include */ if (len > UINT32_MAX) { errno = EINVAL; @@ -106,35 +98,51 @@ main(void) ctx = librecrypt_create_context(); assert(ctx != NULL); -#if defined(SUPPORT_ARGON2I) +#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_0) CHECK_ARGON2(LIBRECRYPT_ARGON2I_V1_0); - CHECK_ARGON2(LIBRECRYPT_ARGON2I_V1_3); #else CHECK_DISABLED(LIBRECRYPT_ARGON2I_V1_0); +#endif + +#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_3) + CHECK_ARGON2(LIBRECRYPT_ARGON2I_V1_3); +#else CHECK_DISABLED(LIBRECRYPT_ARGON2I_V1_3); #endif -#if defined(SUPPORT_ARGON2D) +#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_0) CHECK_ARGON2(LIBRECRYPT_ARGON2D_V1_0); - CHECK_ARGON2(LIBRECRYPT_ARGON2D_V1_3); #else CHECK_DISABLED(LIBRECRYPT_ARGON2D_V1_0); +#endif + +#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_3) + CHECK_ARGON2(LIBRECRYPT_ARGON2D_V1_3); +#else CHECK_DISABLED(LIBRECRYPT_ARGON2D_V1_3); #endif -#if defined(SUPPORT_ARGON2ID) +#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_0) CHECK_ARGON2(LIBRECRYPT_ARGON2ID_V1_0); - CHECK_ARGON2(LIBRECRYPT_ARGON2ID_V1_3); #else CHECK_DISABLED(LIBRECRYPT_ARGON2ID_V1_0); +#endif + +#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_3) + CHECK_ARGON2(LIBRECRYPT_ARGON2ID_V1_3); +#else CHECK_DISABLED(LIBRECRYPT_ARGON2ID_V1_3); #endif -#if defined(SUPPORT_ARGON2DS) +#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_0) CHECK_ARGON2(LIBRECRYPT_ARGON2DS_V1_0); - CHECK_ARGON2(LIBRECRYPT_ARGON2DS_V1_3); #else CHECK_DISABLED(LIBRECRYPT_ARGON2DS_V1_0); +#endif + +#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_3) + CHECK_ARGON2(LIBRECRYPT_ARGON2DS_V1_3); +#else CHECK_DISABLED(LIBRECRYPT_ARGON2DS_V1_3); #endif -- cgit v1.3.1