summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-04-02 17:37:26 -0400
committerSimo Sorce <simo@redhat.com>2014-05-04 17:21:06 -0400
commit6730808cacf0dfbafcd133c4d4032db6b619a324 (patch)
tree732fe064cee90a44c8301cd9a2bff5c570f4717d /tests
parent21e17f374b2b223bf15fb4b3fa9c0e427677c3e4 (diff)
downloadgss-ntlmssp-6730808cacf0dfbafcd133c4d4032db6b619a324.tar.gz
gss-ntlmssp-6730808cacf0dfbafcd133c4d4032db6b619a324.tar.xz
gss-ntlmssp-6730808cacf0dfbafcd133c4d4032db6b619a324.zip
Set version before tests that use MS test vectors
This way we can remove the hacked test vectors where we changed the version fields.
Diffstat (limited to 'tests')
-rw-r--r--tests/ntlmssptest.c53
1 files changed, 17 insertions, 36 deletions
diff --git a/tests/ntlmssptest.c b/tests/ntlmssptest.c
index 638da62..6915a8c 100644
--- a/tests/ntlmssptest.c
+++ b/tests/ntlmssptest.c
@@ -111,8 +111,6 @@ struct {
struct ntlm_key EncryptedSessionKey3;
uint32_t ChallengeFlags;
uint8_t ChallengeMessage[0x44];
- /* Version field differs from the one MS DOCS generated */
- uint8_t EncChallengeMessage[0x44];
uint8_t AuthenticateMessage[0xAC];
} T_NTLMv1 = {
{
@@ -195,17 +193,6 @@ struct {
},
{
0x4e, 0x54, 0x4c, 0x4d, 0x53, 0x53, 0x50, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0x33, 0x82, 0x02, 0xe2,
- 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0x53, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00,
- 0x65, 0x00, 0x72, 0x00
- },
- {
- 0x4e, 0x54, 0x4c, 0x4d, 0x53, 0x53, 0x50, 0x00,
0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00,
0x6c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00,
0x84, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
@@ -240,8 +227,6 @@ struct {
uint8_t NTLMv2Response[16];
struct ntlm_key EncryptedSessionKey;
uint8_t ChallengeMessage[0x68];
- /* Version field differs from the one MS DOCS generated */
- uint8_t EncChallengeMessage[0x68];
uint8_t AuthenticateMessage[0xE8];
} T_NTLMv2 = {
(
@@ -310,21 +295,6 @@ struct {
},
{
0x4e, 0x54, 0x4c, 0x4d, 0x53, 0x53, 0x50, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0x33, 0x82, 0x8a, 0xe2,
- 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x24, 0x00, 0x24, 0x00, 0x44, 0x00, 0x00, 0x00,
- 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0x53, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00,
- 0x65, 0x00, 0x72, 0x00, 0x02, 0x00, 0x0c, 0x00,
- 0x44, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x61, 0x00,
- 0x69, 0x00, 0x6e, 0x00, 0x01, 0x00, 0x0c, 0x00,
- 0x53, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00,
- 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00
- },
- {
- 0x4e, 0x54, 0x4c, 0x4d, 0x53, 0x53, 0x50, 0x00,
0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00,
0x6c, 0x00, 0x00, 0x00, 0x54, 0x00, 0x54, 0x00,
0x84, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
@@ -823,10 +793,12 @@ int test_EncodeChallengeMessageV1(struct ntlm_ctx *ctx)
if (ret) return ret;
if ((message.length != 0x44) ||
- (memcmp(message.data, T_NTLMv1.EncChallengeMessage, 0x44) != 0)) {
+ (memcmp(message.data, T_NTLMv1.ChallengeMessage,
+ sizeof(T_NTLMv1.ChallengeMessage)) != 0)) {
fprintf(stderr, "Challenge Messages differ!\n");
fprintf(stderr, "expected:\n%s",
- hex_to_dump(T_NTLMv1.EncChallengeMessage, 0x44));
+ hex_to_dump(T_NTLMv1.ChallengeMessage,
+ sizeof(T_NTLMv1.ChallengeMessage)));
fprintf(stderr, "obtained:\n%s",
hex_to_dump(message.data, message.length));
ret = EINVAL;
@@ -838,7 +810,8 @@ int test_EncodeChallengeMessageV1(struct ntlm_ctx *ctx)
int test_DecodeChallengeMessageV2(struct ntlm_ctx *ctx)
{
- struct ntlm_buffer chal_msg = { T_NTLMv2.ChallengeMessage, 0x68 };
+ struct ntlm_buffer chal_msg = { T_NTLMv2.ChallengeMessage,
+ sizeof(T_NTLMv2.ChallengeMessage) };
uint32_t type;
uint32_t flags;
char *target_name = NULL;
@@ -902,11 +875,13 @@ int test_EncodeChallengeMessageV2(struct ntlm_ctx *ctx)
&challenge, &target_info, &message);
if (ret) return ret;
- if ((message.length != 0x68) ||
- (memcmp(message.data, T_NTLMv2.EncChallengeMessage, 0x68) != 0)) {
+ if ((message.length != sizeof(T_NTLMv2.ChallengeMessage)) ||
+ (memcmp(message.data, T_NTLMv2.ChallengeMessage,
+ sizeof(T_NTLMv2.ChallengeMessage)) != 0)) {
fprintf(stderr, "Challenge Messages differ!\n");
fprintf(stderr, "expected:\n%s",
- hex_to_dump(T_NTLMv2.EncChallengeMessage, 0x68));
+ hex_to_dump(T_NTLMv2.ChallengeMessage,
+ sizeof(T_NTLMv2.ChallengeMessage)));
fprintf(stderr, "obtained:\n%s",
hex_to_dump(message.data, message.length));
ret = EINVAL;
@@ -1653,6 +1628,9 @@ int main(int argc, const char *argv[])
ret = test_EncryptedSessionKey3(ctx);
fprintf(stdout, "Test: %s\n", (ret ? "FAIL":"SUCCESS"));
+ /* override internal version for V1 test vector */
+ ntlm_internal_set_version(6, 0, 6000, 15);
+
fprintf(stdout, "Test decoding ChallengeMessage v1\n");
ret = test_DecodeChallengeMessageV1(ctx);
fprintf(stdout, "Test: %s\n", (ret ? "FAIL":"SUCCESS"));
@@ -1678,6 +1656,9 @@ int main(int argc, const char *argv[])
&T_NTLMv2.EncryptedSessionKey);
fprintf(stdout, "Test: %s\n", (ret ? "FAIL":"SUCCESS"));
+ /* override internal version for V2 test vector */
+ ntlm_internal_set_version(6, 0, 6000, 15);
+
fprintf(stdout, "Test decoding ChallengeMessage v2\n");
ret = test_DecodeChallengeMessageV2(ctx);
fprintf(stdout, "Test: %s\n", (ret ? "FAIL":"SUCCESS"));