Extract the infotarget from the answer.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19494 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-12-26 00:25:17 +00:00
parent 5809ab6a85
commit 2904a66bb1

View File

@@ -944,7 +944,7 @@ heim_ntlm_calculate_ntlm2(const void *key, size_t len,
CHECK(krb5_storage_write(sp, infotarget->data, infotarget->length), CHECK(krb5_storage_write(sp, infotarget->data, infotarget->length),
infotarget->length); infotarget->length);
/* unknown */ /* unknown */
CHECK(krb5_store_uint32(sp, 0), 0); /* CHECK(krb5_store_uint32(sp, 0), 0); */
CHECK(krb5_storage_to_data(sp, &data), 0); CHECK(krb5_storage_to_data(sp, &data), 0);
krb5_storage_free(sp); krb5_storage_free(sp);
@@ -1041,7 +1041,11 @@ heim_ntlm_verify_ntlm2(const void *key, size_t len,
ret = EINVAL; ret = EINVAL;
goto out; goto out;
} }
infotarget->length = answer->length - 32;
/* client challange */
CHECK(krb5_storage_read(sp, serveranswer, 8), 8);
infotarget->length = answer->length - 40;
infotarget->data = malloc(infotarget->length); infotarget->data = malloc(infotarget->length);
if (infotarget->data == NULL) { if (infotarget->data == NULL) {
ret = ENOMEM; ret = ENOMEM;
@@ -1061,11 +1065,13 @@ heim_ntlm_verify_ntlm2(const void *key, size_t len,
HMAC_CTX_cleanup(&c); HMAC_CTX_cleanup(&c);
if (memcmp(serveranswer, clientanswer, 16) != 0) { if (memcmp(serveranswer, clientanswer, 16) != 0) {
_ntlm_free_buf(infotarget);
return EINVAL; return EINVAL;
} }
return 0; return 0;
out: out:
_ntlm_free_buf(infotarget);
if (sp) if (sp)
krb5_storage_free(sp); krb5_storage_free(sp);
return ret; return ret;