(unwrap_des3): use _gssapi_verify_pad

(unwrap_des): use _gssapi_verify_pad


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12689 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2003-08-28 10:24:45 +00:00
parent 504acf338f
commit bdf7544c1b
2 changed files with 24 additions and 38 deletions

View File

@@ -71,7 +71,7 @@ unwrap_des
krb5_keyblock *key krb5_keyblock *key
) )
{ {
u_char *p, *pad, *seq; u_char *p, *seq;
size_t len; size_t len;
MD5_CTX md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
@@ -131,14 +131,11 @@ unwrap_des
memset (schedule, 0, sizeof(schedule)); memset (schedule, 0, sizeof(schedule));
} }
/* check pad */ /* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
pad = (u_char *)input_message_buffer->value + input_message_buffer->length - 1; input_message_buffer->length - len,
padlength = *pad; &padlength);
if (ret)
for (i = padlength; i > 0 && *pad == padlength; i--, pad--) return ret;
;
if (i != 0)
return GSS_S_BAD_MIC;
MD5_Init (&md5); MD5_Init (&md5);
MD5_Update (&md5, p - 24, 8); MD5_Update (&md5, p - 24, 8);
@@ -210,12 +207,11 @@ unwrap_des3
krb5_keyblock *key krb5_keyblock *key
) )
{ {
u_char *p, *pad; u_char *p;
size_t len; size_t len;
u_char *seq; u_char *seq;
krb5_data seq_data; krb5_data seq_data;
u_char cksum[20]; u_char cksum[20];
int i;
int32_t seq_number; int32_t seq_number;
size_t padlength; size_t padlength;
OM_uint32 ret; OM_uint32 ret;
@@ -276,14 +272,11 @@ unwrap_des3
krb5_data_free(&tmp); krb5_data_free(&tmp);
} }
/* check pad */ /* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
pad = (u_char *)input_message_buffer->value + input_message_buffer->length - 1; input_message_buffer->length - len,
padlength = *pad; &padlength);
if (ret)
for (i = padlength; i > 0 && *pad == padlength; i--, pad--) return ret;
;
if (i != 0)
return GSS_S_BAD_MIC;
/* verify sequence number */ /* verify sequence number */

View File

@@ -71,7 +71,7 @@ unwrap_des
krb5_keyblock *key krb5_keyblock *key
) )
{ {
u_char *p, *pad, *seq; u_char *p, *seq;
size_t len; size_t len;
MD5_CTX md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
@@ -131,14 +131,11 @@ unwrap_des
memset (schedule, 0, sizeof(schedule)); memset (schedule, 0, sizeof(schedule));
} }
/* check pad */ /* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
pad = (u_char *)input_message_buffer->value + input_message_buffer->length - 1; input_message_buffer->length - len,
padlength = *pad; &padlength);
if (ret)
for (i = padlength; i > 0 && *pad == padlength; i--, pad--) return ret;
;
if (i != 0)
return GSS_S_BAD_MIC;
MD5_Init (&md5); MD5_Init (&md5);
MD5_Update (&md5, p - 24, 8); MD5_Update (&md5, p - 24, 8);
@@ -210,12 +207,11 @@ unwrap_des3
krb5_keyblock *key krb5_keyblock *key
) )
{ {
u_char *p, *pad; u_char *p;
size_t len; size_t len;
u_char *seq; u_char *seq;
krb5_data seq_data; krb5_data seq_data;
u_char cksum[20]; u_char cksum[20];
int i;
int32_t seq_number; int32_t seq_number;
size_t padlength; size_t padlength;
OM_uint32 ret; OM_uint32 ret;
@@ -276,14 +272,11 @@ unwrap_des3
krb5_data_free(&tmp); krb5_data_free(&tmp);
} }
/* check pad */ /* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
pad = (u_char *)input_message_buffer->value + input_message_buffer->length - 1; input_message_buffer->length - len,
padlength = *pad; &padlength);
if (ret)
for (i = padlength; i > 0 && *pad == padlength; i--, pad--) return ret;
;
if (i != 0)
return GSS_S_BAD_MIC;
/* verify sequence number */ /* verify sequence number */