From 3da46e473023da05f97f29045de646e7a1844c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 27 Aug 2003 04:08:54 +0000 Subject: [PATCH] (_gssapi_verify_mic_arcfour): Do the checksum on right area. Swap filler check, it was reversed. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12658 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/arcfour.c | 6 +++--- lib/gssapi/krb5/arcfour.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/gssapi/arcfour.c b/lib/gssapi/arcfour.c index c3ec4a4b3..38ff80b27 100644 --- a/lib/gssapi/arcfour.c +++ b/lib/gssapi/arcfour.c @@ -263,7 +263,7 @@ _gssapi_verify_mic_arcfour /* draft: memcpy (T_plus_hdr_plus_msg + 04, MIC_hdr, 8); */ /* draft: memcpy (T_plus_hdr_plus_msg + 12, msg, msg_len); */ - kret = arcfour_mic_cksum(p, 8, message_buffer, key, + kret = arcfour_mic_cksum(p - 8, 8, message_buffer, key, cksum_data, sizeof(cksum_data)); if (kret) { *minor_status = kret; @@ -300,9 +300,9 @@ _gssapi_verify_mic_arcfour gssapi_decode_om_uint32(p, &seq_number); if (context_handle->more_flags & LOCAL) - cmp = memcmp(&p[4], "\xff\xff\xff\xff", 4); - else cmp = memcmp(&p[4], "\x00\x00\x00\x00", 4); + else + cmp = memcmp(&p[4], "\xff\xff\xff\xff", 4); if (cmp != 0) { *minor_status = 0; diff --git a/lib/gssapi/krb5/arcfour.c b/lib/gssapi/krb5/arcfour.c index c3ec4a4b3..38ff80b27 100644 --- a/lib/gssapi/krb5/arcfour.c +++ b/lib/gssapi/krb5/arcfour.c @@ -263,7 +263,7 @@ _gssapi_verify_mic_arcfour /* draft: memcpy (T_plus_hdr_plus_msg + 04, MIC_hdr, 8); */ /* draft: memcpy (T_plus_hdr_plus_msg + 12, msg, msg_len); */ - kret = arcfour_mic_cksum(p, 8, message_buffer, key, + kret = arcfour_mic_cksum(p - 8, 8, message_buffer, key, cksum_data, sizeof(cksum_data)); if (kret) { *minor_status = kret; @@ -300,9 +300,9 @@ _gssapi_verify_mic_arcfour gssapi_decode_om_uint32(p, &seq_number); if (context_handle->more_flags & LOCAL) - cmp = memcmp(&p[4], "\xff\xff\xff\xff", 4); - else cmp = memcmp(&p[4], "\x00\x00\x00\x00", 4); + else + cmp = memcmp(&p[4], "\xff\xff\xff\xff", 4); if (cmp != 0) { *minor_status = 0;