update to pseudo-standard APIs for md4,md5,sha.

some changes to libdes calls to make them more portable.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7820 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2000-01-25 23:15:44 +00:00
parent 1ee6d08980
commit 1799ccfdaf
8 changed files with 84 additions and 84 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -44,7 +44,7 @@ OM_uint32 gss_get_mic
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -73,17 +73,17 @@ OM_uint32 gss_get_mic
p += 16; p += 16;
/* checksum */ /* checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, message_buffer->value, MD5Update (&md5, message_buffer->value,
message_buffer->length); message_buffer->length);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (viod *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
memcpy (p - 8, hash, 8); memcpy (p - 8, hash, 8);
/* sequence number */ /* sequence number */
@@ -101,7 +101,7 @@ OM_uint32 gss_get_mic
4); 4);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)(p + 8), DES_ENCRYPT); schedule, (des_cblock *)(p + 8), DES_ENCRYPT);
krb5_auth_setlocalseqnumber (gssapi_krb5_context, krb5_auth_setlocalseqnumber (gssapi_krb5_context,

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -44,7 +44,7 @@ OM_uint32 gss_get_mic
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -73,17 +73,17 @@ OM_uint32 gss_get_mic
p += 16; p += 16;
/* checksum */ /* checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, message_buffer->value, MD5Update (&md5, message_buffer->value,
message_buffer->length); message_buffer->length);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (viod *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
memcpy (p - 8, hash, 8); memcpy (p - 8, hash, 8);
/* sequence number */ /* sequence number */
@@ -101,7 +101,7 @@ OM_uint32 gss_get_mic
4); 4);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)(p + 8), DES_ENCRYPT); schedule, (des_cblock *)(p + 8), DES_ENCRYPT);
krb5_auth_setlocalseqnumber (gssapi_krb5_context, krb5_auth_setlocalseqnumber (gssapi_krb5_context,

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -70,7 +70,7 @@ OM_uint32 gss_unwrap
{ {
u_char *p, *pad; u_char *p, *pad;
size_t len; size_t len;
struct md5 md5; MD5_CTX md5;
u_char hash[16], seq_data[8]; u_char hash[16], seq_data[8];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -114,8 +114,8 @@ OM_uint32 gss_unwrap
key[i] ^= 0xf0; key[i] ^= 0xf0;
des_set_key (&key, schedule); des_set_key (&key, schedule);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
des_cbc_encrypt ((des_cblock *)p, des_cbc_encrypt ((const void *)p,
(des_cblock *)p, (void *)p,
input_message_buffer->length - len, input_message_buffer->length - len,
schedule, schedule,
&zero, &zero,
@@ -134,16 +134,16 @@ OM_uint32 gss_unwrap
if (i != 0) if (i != 0)
return GSS_S_BAD_MIC; return GSS_S_BAD_MIC;
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, p, input_message_buffer->length - len); MD5Update (&md5, p, input_message_buffer->length - len);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
if (memcmp (p - 8, hash, 8) != 0) if (memcmp (p - 8, hash, 8) != 0)
return GSS_S_BAD_MIC; return GSS_S_BAD_MIC;
@@ -162,7 +162,7 @@ OM_uint32 gss_unwrap
p -= 16; p -= 16;
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)hash, DES_DECRYPT); schedule, (des_cblock *)hash, DES_DECRYPT);
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -44,7 +44,7 @@ OM_uint32 gss_verify_mic
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16], seq_data[8]; u_char hash[16], seq_data[8];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -68,11 +68,11 @@ OM_uint32 gss_verify_mic
p += 16; p += 16;
/* verify checksum */ /* verify checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, message_buffer->value, MD5Update (&md5, message_buffer->value,
message_buffer->length); message_buffer->length);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
#if 0 #if 0
@@ -83,8 +83,8 @@ OM_uint32 gss_verify_mic
sizeof(key)); sizeof(key));
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
if (memcmp (p - 8, hash, 8) != 0) { if (memcmp (p - 8, hash, 8) != 0) {
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));
memset (schedule, 0, sizeof(schedule)); memset (schedule, 0, sizeof(schedule));
@@ -106,7 +106,7 @@ OM_uint32 gss_verify_mic
p -= 16; p -= 16;
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)hash, DES_DECRYPT); schedule, (des_cblock *)hash, DES_DECRYPT);
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -63,7 +63,7 @@ OM_uint32 gss_wrap
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -110,16 +110,16 @@ OM_uint32 gss_wrap
memset (p + 8 + input_message_buffer->length, padlength, padlength); memset (p + 8 + input_message_buffer->length, padlength, padlength);
/* checksum */ /* checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, p, input_message_buffer->length + padlength + 8); MD5Update (&md5, p, input_message_buffer->length + padlength + 8);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
memcpy (p - 8, hash, 8); memcpy (p - 8, hash, 8);
/* sequence number */ /* sequence number */
@@ -137,7 +137,7 @@ OM_uint32 gss_wrap
4); 4);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)(p + 8), DES_ENCRYPT); schedule, (des_cblock *)(p + 8), DES_ENCRYPT);
krb5_auth_setlocalseqnumber (gssapi_krb5_context, krb5_auth_setlocalseqnumber (gssapi_krb5_context,
@@ -153,8 +153,8 @@ OM_uint32 gss_wrap
key[i] ^= 0xf0; key[i] ^= 0xf0;
des_set_key (&key, schedule); des_set_key (&key, schedule);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
des_cbc_encrypt ((des_cblock *)p, des_cbc_encrypt ((const void *)p,
(des_cblock *)p, (void *)p,
8 + input_message_buffer->length + padlength, 8 + input_message_buffer->length + padlength,
schedule, schedule,
&zero, &zero,

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -70,7 +70,7 @@ OM_uint32 gss_unwrap
{ {
u_char *p, *pad; u_char *p, *pad;
size_t len; size_t len;
struct md5 md5; MD5_CTX md5;
u_char hash[16], seq_data[8]; u_char hash[16], seq_data[8];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -114,8 +114,8 @@ OM_uint32 gss_unwrap
key[i] ^= 0xf0; key[i] ^= 0xf0;
des_set_key (&key, schedule); des_set_key (&key, schedule);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
des_cbc_encrypt ((des_cblock *)p, des_cbc_encrypt ((const void *)p,
(des_cblock *)p, (void *)p,
input_message_buffer->length - len, input_message_buffer->length - len,
schedule, schedule,
&zero, &zero,
@@ -134,16 +134,16 @@ OM_uint32 gss_unwrap
if (i != 0) if (i != 0)
return GSS_S_BAD_MIC; return GSS_S_BAD_MIC;
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, p, input_message_buffer->length - len); MD5Update (&md5, p, input_message_buffer->length - len);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
if (memcmp (p - 8, hash, 8) != 0) if (memcmp (p - 8, hash, 8) != 0)
return GSS_S_BAD_MIC; return GSS_S_BAD_MIC;
@@ -162,7 +162,7 @@ OM_uint32 gss_unwrap
p -= 16; p -= 16;
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)hash, DES_DECRYPT); schedule, (des_cblock *)hash, DES_DECRYPT);
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -44,7 +44,7 @@ OM_uint32 gss_verify_mic
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16], seq_data[8]; u_char hash[16], seq_data[8];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -68,11 +68,11 @@ OM_uint32 gss_verify_mic
p += 16; p += 16;
/* verify checksum */ /* verify checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, message_buffer->value, MD5Update (&md5, message_buffer->value,
message_buffer->length); message_buffer->length);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
#if 0 #if 0
@@ -83,8 +83,8 @@ OM_uint32 gss_verify_mic
sizeof(key)); sizeof(key));
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
if (memcmp (p - 8, hash, 8) != 0) { if (memcmp (p - 8, hash, 8) != 0) {
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));
memset (schedule, 0, sizeof(schedule)); memset (schedule, 0, sizeof(schedule));
@@ -106,7 +106,7 @@ OM_uint32 gss_verify_mic
p -= 16; p -= 16;
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)hash, DES_DECRYPT); schedule, (des_cblock *)hash, DES_DECRYPT);
memset (key, 0, sizeof(key)); memset (key, 0, sizeof(key));

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -63,7 +63,7 @@ OM_uint32 gss_wrap
) )
{ {
u_char *p; u_char *p;
struct md5 md5; MD5_CTX md5;
u_char hash[16]; u_char hash[16];
des_key_schedule schedule; des_key_schedule schedule;
des_cblock key; des_cblock key;
@@ -110,16 +110,16 @@ OM_uint32 gss_wrap
memset (p + 8 + input_message_buffer->length, padlength, padlength); memset (p + 8 + input_message_buffer->length, padlength, padlength);
/* checksum */ /* checksum */
md5_init (&md5); MD5Init (&md5);
md5_update (&md5, p - 24, 8); MD5Update (&md5, p - 24, 8);
md5_update (&md5, p, input_message_buffer->length + padlength + 8); MD5Update (&md5, p, input_message_buffer->length + padlength + 8);
md5_finito (&md5, hash); MD5Final (hash, &md5);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
gss_krb5_getsomekey(context_handle, &key); gss_krb5_getsomekey(context_handle, &key);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_cksum ((des_cblock *)hash, des_cbc_cksum ((const void *)hash, (void *)hash, sizeof(hash),
(des_cblock *)hash, sizeof(hash), schedule, &zero); schedule, &zero);
memcpy (p - 8, hash, 8); memcpy (p - 8, hash, 8);
/* sequence number */ /* sequence number */
@@ -137,7 +137,7 @@ OM_uint32 gss_wrap
4); 4);
des_set_key (&key, schedule); des_set_key (&key, schedule);
des_cbc_encrypt ((des_cblock *)p, (des_cblock *)p, 8, des_cbc_encrypt ((const void *)p, (void *)p, 8,
schedule, (des_cblock *)(p + 8), DES_ENCRYPT); schedule, (des_cblock *)(p + 8), DES_ENCRYPT);
krb5_auth_setlocalseqnumber (gssapi_krb5_context, krb5_auth_setlocalseqnumber (gssapi_krb5_context,
@@ -153,8 +153,8 @@ OM_uint32 gss_wrap
key[i] ^= 0xf0; key[i] ^= 0xf0;
des_set_key (&key, schedule); des_set_key (&key, schedule);
memset (&zero, 0, sizeof(zero)); memset (&zero, 0, sizeof(zero));
des_cbc_encrypt ((des_cblock *)p, des_cbc_encrypt ((const void *)p,
(des_cblock *)p, (void *)p,
8 + input_message_buffer->length + padlength, 8 + input_message_buffer->length + padlength,
schedule, schedule,
&zero, &zero,