aboutsummaryrefslogtreecommitdiffstats
path: root/librecrypt_set_pepper.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-07-01 21:37:09 +0200
committerMattias Andrée <m@maandree.se>2026-07-01 21:37:09 +0200
commit1323b81cd2679bb61a480524a0e4cd008d3d0bee (patch)
treed7fc0c3417b6ae7a1688cddd8ce3a9607ec53dd7 /librecrypt_set_pepper.c
parentAdd test and fix a bug (diff)
downloadlibrecrypt-1.1.1.tar.gz
librecrypt-1.1.1.tar.bz2
librecrypt-1.1.1.tar.xz
Add support for the reference implementation of Argon2HEAD1.1.1master
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--librecrypt_set_pepper.c79
1 files changed, 54 insertions, 25 deletions
diff --git a/librecrypt_set_pepper.c b/librecrypt_set_pepper.c
index 966563c..ee51124 100644
--- a/librecrypt_set_pepper.c
+++ b/librecrypt_set_pepper.c
@@ -62,77 +62,106 @@ main(void)
assert(ctx != NULL);
-#if defined(SUPPORT_ARGON2I)
+#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_0)
SET_PEPPER(LIBRECRYPT_ARGON2I_V1_0, &a2i10, 2u);
- SET_PEPPER(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
# if SIZE_MAX > UINT32_MAX
CHECK_EINVAL(LIBRECRYPT_ARGON2I_V1_0, NULL, (size_t)UINT32_MAX + 1u);
- CHECK_EINVAL(LIBRECRYPT_ARGON2I_V1_3, NULL, (size_t)UINT32_MAX + 1u);
# endif
#else
CHECK_ENOSYS(LIBRECRYPT_ARGON2I_V1_0, &a2i10, 2u);
- CHECK_ENOSYS(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
#endif
-#if defined(SUPPORT_ARGON2D)
+#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_0)
SET_PEPPER(LIBRECRYPT_ARGON2D_V1_0, &a2d10, 3u);
- SET_PEPPER(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
# if SIZE_MAX > UINT32_MAX
CHECK_EINVAL(LIBRECRYPT_ARGON2D_V1_0, NULL, (size_t)UINT32_MAX + 1u);
- CHECK_EINVAL(LIBRECRYPT_ARGON2D_V1_3, NULL, (size_t)UINT32_MAX + 1u);
# endif
#else
CHECK_ENOSYS(LIBRECRYPT_ARGON2D_V1_0, &a2d10, 3u);
- CHECK_ENOSYS(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
#endif
-#if defined(SUPPORT_ARGON2ID)
+#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_0)
SET_PEPPER(LIBRECRYPT_ARGON2ID_V1_0, &a2id10, 7u);
- SET_PEPPER(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
# if SIZE_MAX > UINT32_MAX
CHECK_EINVAL(LIBRECRYPT_ARGON2ID_V1_0, NULL, (size_t)UINT32_MAX + 1u);
- CHECK_EINVAL(LIBRECRYPT_ARGON2ID_V1_3, NULL, (size_t)UINT32_MAX + 1u);
# endif
#else
CHECK_ENOSYS(LIBRECRYPT_ARGON2ID_V1_0, &a2id10, 7u);
- CHECK_ENOSYS(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
#endif
-#if defined(SUPPORT_ARGON2DS)
+#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_0)
SET_PEPPER(LIBRECRYPT_ARGON2DS_V1_0, &a2ds10, 9u);
- SET_PEPPER(LIBRECRYPT_ARGON2DS_V1_3, &a2ds13, 6u);
# if SIZE_MAX > UINT32_MAX
CHECK_EINVAL(LIBRECRYPT_ARGON2DS_V1_0, NULL, (size_t)UINT32_MAX + 1u);
- CHECK_EINVAL(LIBRECRYPT_ARGON2DS_V1_3, NULL, (size_t)UINT32_MAX + 1u);
# endif
#else
CHECK_ENOSYS(LIBRECRYPT_ARGON2DS_V1_0, &a2ds10, 9u);
- CHECK_ENOSYS(LIBRECRYPT_ARGON2DS_V1_3, &a2ds13, 6u);
#endif
+#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_3)
+ SET_PEPPER(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
+# if SIZE_MAX > UINT32_MAX
+ CHECK_EINVAL(LIBRECRYPT_ARGON2I_V1_3, NULL, (size_t)UINT32_MAX + 1u);
+# endif
+#else
+ CHECK_ENOSYS(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
+#endif
+
+#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_3)
+ SET_PEPPER(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
+# if SIZE_MAX > UINT32_MAX
+ CHECK_EINVAL(LIBRECRYPT_ARGON2D_V1_3, NULL, (size_t)UINT32_MAX + 1u);
+# endif
+#else
+ CHECK_ENOSYS(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
+#endif
+
+#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_3)
+ SET_PEPPER(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
+# if SIZE_MAX > UINT32_MAX
+ CHECK_EINVAL(LIBRECRYPT_ARGON2ID_V1_3, NULL, (size_t)UINT32_MAX + 1u);
+# endif
+#else
+ CHECK_ENOSYS(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
+#endif
+
+#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_3)
+ SET_PEPPER(LIBRECRYPT_ARGON2DS_V1_3, &a2ds13, 6u);
+# if SIZE_MAX > UINT32_MAX
+ CHECK_EINVAL(LIBRECRYPT_ARGON2DS_V1_3, NULL, (size_t)UINT32_MAX + 1u);
+# endif
+#else
+ CHECK_ENOSYS(LIBRECRYPT_ARGON2DS_V1_3, &a2ds13, 6u);
+#endif
CHECK_ENOSYS(LIBRECRYPT_HASH_ALGORITHM_END, NULL, 0u);
CHECK_ENOSYS(LIBRECRYPT_HASH_ALGORITHM_END, &(char){4}, 32u);
-
-#if defined(SUPPORT_ARGON2I)
+#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_0)
CHECK_PEPPER(LIBRECRYPT_ARGON2I_V1_0, &a2i10, 2u);
- CHECK_PEPPER(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
#endif
-#if defined(SUPPORT_ARGON2D)
+#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_0)
CHECK_PEPPER(LIBRECRYPT_ARGON2D_V1_0, &a2d10, 3u);
- CHECK_PEPPER(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
#endif
-#if defined(SUPPORT_ARGON2ID)
+#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_0)
CHECK_PEPPER(LIBRECRYPT_ARGON2ID_V1_0, &a2id10, 7u);
- CHECK_PEPPER(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
#endif
-#if defined(SUPPORT_ARGON2DS)
+#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_0)
CHECK_PEPPER(LIBRECRYPT_ARGON2DS_V1_0, &a2ds10, 9u);
+#endif
+#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_3)
+ CHECK_PEPPER(LIBRECRYPT_ARGON2I_V1_3, &a2i13, 5u);
+#endif
+#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_3)
+ CHECK_PEPPER(LIBRECRYPT_ARGON2D_V1_3, &a2d13, 8u);
+#endif
+#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_3)
+ CHECK_PEPPER(LIBRECRYPT_ARGON2ID_V1_3, &a2id13, 4u);
+#endif
+#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_3)
CHECK_PEPPER(LIBRECRYPT_ARGON2DS_V1_3, &a2ds13, 6u);
#endif
-
librecrypt_free_context(ctx);
STOP_RESOURCE_TEST();