(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:
@@ -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 */
|
||||||
|
|
||||||
|
@@ -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 */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user