1524bc
From dd0fb9bcd71e8fdf9d609c8d5e6c5d952f6ec63f Mon Sep 17 00:00:00 2001
1524bc
From: Isaac Boukris <iboukris@gmail.com>
1524bc
Date: Wed, 20 Nov 2019 00:14:31 +0100
1524bc
Subject: [PATCH 172/187] selftest: test SMBsesskeygen_lm_sess_key
1524bc
1524bc
Signed-off-by: Isaac Boukris <iboukris@samba.org>
1524bc
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
1524bc
(cherry picked from commit 6c5f153e4793c0613dd843b1566bd27632912a7c)
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 2e6ed7ba98c..368c4f74640 100644
1524bc
--- a/libcli/auth/tests/test_gnutls.c
1524bc
+++ b/libcli/auth/tests/test_gnutls.c
1524bc
@@ -421,6 +421,28 @@ static void torture_gnutls_sam_rid_crypt(void **state)
1524bc
 	assert_memory_equal(decrypt, clear, 16);
1524bc
 }
1524bc
 
1524bc
+static void torture_gnutls_SMBsesskeygen_lm_sess_key(void **state)
1524bc
+{
1524bc
+	static const uint8_t lm_hash[16] = {
1524bc
+		0xFB, 0x67, 0x99, 0xA4, 0x83, 0xF3, 0xD4, 0xED,
1524bc
+		0x9C, 0x14, 0xDD, 0xE1, 0x39, 0x23, 0xE0, 0x55
1524bc
+	};
1524bc
+	static const uint8_t lm_resp[24] = {
1524bc
+		0x02, 0xFA, 0x3B, 0xEE, 0xE8, 0xBA, 0x06, 0x01,
1524bc
+		0x02, 0xFA, 0x3B, 0xEE, 0xE8, 0xBA, 0x06, 0x01,
1524bc
+		0x1E, 0x38, 0x27, 0x5B, 0x3B, 0xB8, 0x67, 0xEB
1524bc
+	};
1524bc
+	static const uint8_t crypt_expected[16] = {
1524bc
+		0x52, 0x8D, 0xB2, 0xD3, 0x89, 0x83, 0xFB, 0x9C,
1524bc
+		0x96, 0x45, 0x15, 0x4B, 0xC3, 0xF5, 0xD5, 0x7F
1524bc
+	};
1524bc
+
1524bc
+	uint8_t crypt_sess_key[16];
1524bc
+
1524bc
+	SMBsesskeygen_lm_sess_key(lm_hash, lm_resp, crypt_sess_key);
1524bc
+	assert_memory_equal(crypt_sess_key, crypt_expected, 16);
1524bc
+}
1524bc
+
1524bc
 int main(int argc, char *argv[])
1524bc
 {
1524bc
 	int rc;
1524bc
@@ -435,6 +457,7 @@ int main(int argc, char *argv[])
1524bc
 		cmocka_unit_test(torture_gnutls_des_crypt112),
1524bc
 		cmocka_unit_test(torture_gnutls_des_crypt112_16),
1524bc
 		cmocka_unit_test(torture_gnutls_sam_rid_crypt),
1524bc
+		cmocka_unit_test(torture_gnutls_SMBsesskeygen_lm_sess_key),
1524bc
 	};
1524bc
 
1524bc
 	if (argc == 2) {
1524bc
-- 
1524bc
2.23.0
1524bc