1524bc
From 439a78c470c7536c4e30604e05c5c03c6a22384d Mon Sep 17 00:00:00 2001
1524bc
From: Isaac Boukris <iboukris@gmail.com>
1524bc
Date: Tue, 19 Nov 2019 16:08:49 +0100
1524bc
Subject: [PATCH 166/187] selftest: test sam_rid_crypt
1524bc
1524bc
Signed-off-by: Isaac Boukris <iboukris@samba.org>
1524bc
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
1524bc
(cherry picked from commit 0923f94bdc21a80cbf40aaa65c4928c13c298d82)
1524bc
---
1524bc
 libcli/auth/tests/test_gnutls.c | 23 +++++++++++++++++++++++
1524bc
 1 file changed, 23 insertions(+)
1524bc
1524bc
diff --git a/libcli/auth/tests/test_gnutls.c b/libcli/auth/tests/test_gnutls.c
1524bc
index a2b7cb896d0..bef4b5d3cc2 100644
1524bc
--- a/libcli/auth/tests/test_gnutls.c
1524bc
+++ b/libcli/auth/tests/test_gnutls.c
1524bc
@@ -269,6 +269,28 @@ static void torture_gnutls_E_P16(void **state)
1524bc
 	assert_memory_equal(buffer, crypt_expected, 16);
1524bc
 }
1524bc
 
1524bc
+static void torture_gnutls_sam_rid_crypt(void **state)
1524bc
+{
1524bc
+	static const uint8_t clear[16] = {
1524bc
+		0x02, 0xFA, 0x3B, 0xEE, 0xE8, 0xBA, 0x06, 0x01,
1524bc
+		0x3F, 0x49, 0x5B, 0x20, 0xA7, 0x84, 0xC2, 0x34
1524bc
+	};
1524bc
+	static const uint8_t crypt_expected[16] = {
1524bc
+		0x1E, 0x38, 0x27, 0x5B, 0x3B, 0xB8, 0x67, 0xEB,
1524bc
+		0xFB, 0x67, 0x99, 0xA4, 0x83, 0xF3, 0xD4, 0xED
1524bc
+	};
1524bc
+
1524bc
+	uint8_t crypt[16];
1524bc
+	uint8_t decrypt[16];
1524bc
+	int rid = 500;
1524bc
+
1524bc
+	sam_rid_crypt(rid, clear, crypt, 1);
1524bc
+	assert_memory_equal(crypt, crypt_expected, 16);
1524bc
+
1524bc
+	sam_rid_crypt(rid, crypt, decrypt, 0);
1524bc
+	assert_memory_equal(decrypt, clear, 16);
1524bc
+}
1524bc
+
1524bc
 int main(int argc, char *argv[])
1524bc
 {
1524bc
 	int rc;
1524bc
@@ -276,6 +298,7 @@ int main(int argc, char *argv[])
1524bc
 		cmocka_unit_test(torture_gnutls_aes_128_cfb),
1524bc
 		cmocka_unit_test(torture_gnutls_des_crypt56),
1524bc
 		cmocka_unit_test(torture_gnutls_E_P16),
1524bc
+		cmocka_unit_test(torture_gnutls_sam_rid_crypt),
1524bc
 	};
1524bc
 
1524bc
 	if (argc == 2) {
1524bc
-- 
1524bc
2.23.0
1524bc