From f188987fa37cd162ba2deaa930698ea6c8f072fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sat, 2 Jun 2007 23:21:47 +0000 Subject: [PATCH] Test both with and without keyex. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20804 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/test_ntlm.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/lib/gssapi/test_ntlm.c b/lib/gssapi/test_ntlm.c index ad037993a..d0a16405a 100644 --- a/lib/gssapi/test_ntlm.c +++ b/lib/gssapi/test_ntlm.c @@ -46,7 +46,7 @@ RCSID("$Id$"); #include static int -test_libntlm_v1(void) +test_libntlm_v1(int flags) { const char *user = "foo", *domain = "mydomain", @@ -64,7 +64,7 @@ test_libntlm_v1(void) memset(&type2, 0, sizeof(type2)); memset(&type3, 0, sizeof(type3)); - type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_NTLM|NTLM_NEG_KEYEX; + type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_NTLM|flags; type1.domain = strdup(domain); type1.hostname = NULL; type1.os[0] = 0; @@ -113,7 +113,6 @@ test_libntlm_v1(void) { struct ntlm_buf key; - struct ntlm_buf sessionkey; heim_ntlm_nt_key(password, &key); @@ -121,11 +120,14 @@ test_libntlm_v1(void) type2.challange, &type3.ntlm); - heim_ntlm_build_ntlm1_master(key.data, key.length, - &sessionkey, + if (flags & NTLM_NEG_KEYEX) { + struct ntlm_buf sessionkey; + heim_ntlm_build_ntlm1_master(key.data, key.length, + &sessionkey, &type3.sessionkey); + free(sessionkey.data); + } free(key.data); - free(sessionkey.data); } ret = heim_ntlm_encode_type3(&type3, &data); @@ -157,7 +159,7 @@ test_libntlm_v1(void) } static int -test_libntlm_v2(void) +test_libntlm_v2(int flags) { const char *user = "foo", *domain = "mydomain", @@ -175,7 +177,7 @@ test_libntlm_v2(void) memset(&type2, 0, sizeof(type2)); memset(&type3, 0, sizeof(type3)); - type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_NTLM|NTLM_NEG_KEYEX; + type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_NTLM|flags; type1.domain = strdup(domain); type1.hostname = NULL; type1.os[0] = 0; @@ -225,7 +227,6 @@ test_libntlm_v2(void) { struct ntlm_buf key; unsigned char ntlmv2[16]; - struct ntlm_buf sessionkey; heim_ntlm_nt_key(password, &key); @@ -238,10 +239,13 @@ test_libntlm_v2(void) &type3.ntlm); free(key.data); - heim_ntlm_build_ntlm1_master(ntlmv2, sizeof(ntlmv2), - &sessionkey, - &type3.sessionkey); - free(sessionkey.data); + if (flags & NTLM_NEG_KEYEX) { + struct ntlm_buf sessionkey; + heim_ntlm_build_ntlm1_master(ntlmv2, sizeof(ntlmv2), + &sessionkey, + &type3.sessionkey); + free(sessionkey.data); + } } ret = heim_ntlm_encode_type3(&type3, &data); @@ -311,8 +315,11 @@ main(int argc, char **argv) argc -= optind; argv += optind; - ret += test_libntlm_v1(); - ret += test_libntlm_v2(); + ret += test_libntlm_v1(0); + ret += test_libntlm_v1(NTLM_NEG_KEYEX); + + ret += test_libntlm_v2(0); + ret += test_libntlm_v2(NTLM_NEG_KEYEX); return 0; }