]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
tests/unit/test_chkhash.c: add MD5 and DES hash validation tests
authorIker Pedrosa <ipedrosa@redhat.com>
Wed, 4 Feb 2026 09:31:47 +0000 (10:31 +0100)
committerAlejandro Colomar <foss+github@alejandro-colomar.es>
Tue, 17 Feb 2026 23:30:57 +0000 (00:30 +0100)
Add basic MD5 and DES algorithm validation tests.

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
tests/unit/test_chkhash.c

index cdd4a37b4f4e474cef3d9b1eb4ebe513d509db10..3ae91b19fa68bacaac7add8e9a668477bc31600d 100644 (file)
@@ -110,6 +110,28 @@ test_is_valid_hash_ok_sha256(void **)
 }
 
 
+static void
+test_is_valid_hash_ok_md5(void **)
+{
+       // Basic MD5 hash: $1$ + salt + $ + 22 character hash
+       assert_true(is_valid_hash("$1$salt$abcdefghijklmnopqrstuv"));
+
+       // MD5 with maximum salt length (8 characters)
+       assert_true(is_valid_hash("$1$maxsalt8$abcdefghijklmnopqrstuv"));
+}
+
+
+static void
+test_is_valid_hash_ok_des(void **)
+{
+       // Basic DES hash: 13 characters
+       assert_true(is_valid_hash("abcDEF123./zZ"));
+
+       // DES with different character combinations
+       assert_true(is_valid_hash("ZZ./0123456xy"));
+}
+
+
 int
 main(void)
 {
@@ -118,6 +140,8 @@ main(void)
         cmocka_unit_test(test_is_valid_hash_ok_bcrypt),
         cmocka_unit_test(test_is_valid_hash_ok_sha512),
         cmocka_unit_test(test_is_valid_hash_ok_sha256),
+        cmocka_unit_test(test_is_valid_hash_ok_md5),
+        cmocka_unit_test(test_is_valid_hash_ok_des),
     };
 
     return cmocka_run_group_tests(tests, NULL, NULL);