test type1 encodings

This commit is contained in:
Love Hörnquist Åstrand
2013-11-18 15:43:44 +01:00
parent 576f103203
commit bd661203cf

View File

@@ -41,13 +41,14 @@
#include <krb5-types.h> /* or <inttypes.h> */ #include <krb5-types.h> /* or <inttypes.h> */
#include <heimntlm.h> #include <heimntlm.h>
#ifdef ENABLE_NTLM static int dumpdata_flag;
static int static int
test_parse(void) test_parse(void)
{ {
const char *user = "foo", const char *user = "foo",
*domain = "mydomain", *domain = "mydomain",
*hostname = "myhostname",
*password = "digestpassword", *password = "digestpassword",
*target = "DOMAIN"; *target = "DOMAIN";
struct ntlm_type1 type1; struct ntlm_type1 type1;
@@ -60,7 +61,7 @@ test_parse(void)
type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_TARGET|NTLM_NEG_NTLM|NTLM_NEG_VERSION; type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_TARGET|NTLM_NEG_NTLM|NTLM_NEG_VERSION;
type1.domain = rk_UNCONST(domain); type1.domain = rk_UNCONST(domain);
type1.hostname = NULL; type1.hostname = rk_UNCONST(hostname);
type1.os[0] = 0; type1.os[0] = 0;
type1.os[1] = 0; type1.os[1] = 0;
@@ -70,11 +71,20 @@ test_parse(void)
memset(&type1, 0, sizeof(type1)); memset(&type1, 0, sizeof(type1));
if (dumpdata_flag)
rk_dumpdata("ntlm-type1", data.data, data.length);
ret = heim_ntlm_decode_type1(&data, &type1); ret = heim_ntlm_decode_type1(&data, &type1);
free(data.data); free(data.data);
if (ret) if (ret)
errx(1, "heim_ntlm_encode_type1"); errx(1, "heim_ntlm_encode_type1");
if (strcmp(type1.domain, domain) != 0)
errx(1, "parser got domain wrong: %s", type1.domain);
if (strcmp(type1.hostname, hostname) != 0)
errx(1, "parser got hostname wrong: %s", type1.hostname);
heim_ntlm_free_type1(&type1); heim_ntlm_free_type1(&type1);
/* /*
@@ -97,6 +107,9 @@ test_parse(void)
memset(&type2, 0, sizeof(type2)); memset(&type2, 0, sizeof(type2));
if (dumpdata_flag)
rk_dumpdata("ntlm-type2", data.data, data.length);
ret = heim_ntlm_decode_type2(&data, &type2); ret = heim_ntlm_decode_type2(&data, &type2);
free(data.data); free(data.data);
if (ret) if (ret)
@@ -133,6 +146,9 @@ test_parse(void)
memset(&type3, 0, sizeof(type3)); memset(&type3, 0, sizeof(type3));
if (dumpdata_flag)
rk_dumpdata("ntlm-type3", data.data, data.length);
ret = heim_ntlm_decode_type3(&data, 1, &type3); ret = heim_ntlm_decode_type3(&data, 1, &type3);
free(data.data); free(data.data);
if (ret) if (ret)
@@ -532,7 +548,6 @@ test_jp(void)
return 0; return 0;
} }
#endif
static int verbose_flag = 0; static int verbose_flag = 0;
static int version_flag = 0; static int version_flag = 0;
@@ -570,36 +585,33 @@ main(int argc, char **argv)
exit(0); exit(0);
} }
#ifdef ENABLE_NTLM
if (verbose_flag) if (verbose_flag)
printf("test_parse\n"); printf("test_parse\n");
ret += test_parse(); ret |= test_parse();
if (verbose_flag) if (verbose_flag)
printf("test_keys\n"); printf("test_keys\n");
ret += test_keys(); ret |= test_keys();
if (verbose_flag) if (verbose_flag)
printf("test_ntlm2_session_resp\n"); printf("test_ntlm2_session_resp\n");
ret += test_ntlm2_session_resp(); ret |= test_ntlm2_session_resp();
if (verbose_flag) if (verbose_flag)
printf("test_targetinfo\n"); printf("test_targetinfo\n");
ret += test_targetinfo(); ret |= test_targetinfo();
if (verbose_flag) if (verbose_flag)
printf("test_ntlmv2\n"); printf("test_ntlmv2\n");
ret += test_ntlmv2(); ret |= test_ntlmv2();
if (verbose_flag) if (verbose_flag)
printf("test_string2key\n"); printf("test_string2key\n");
ret += test_string2key(); ret |= test_string2key();
if (verbose_flag) if (verbose_flag)
printf("test_jp\n"); printf("test_jp\n");
ret += test_jp(); ret |= test_jp();
#endif
return ret; return ret;
} }