diff options
author | Tom Yu <tlyu@mit.edu> | 1997-10-14 19:38:37 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1997-10-14 19:38:37 +0000 |
commit | 60de6ffcc44c4e9d9cf10a78d6c7eb5bb2712a5b (patch) | |
tree | ab17e7df7fed61a0f128f909cfbcc342cedab43c /src/lib | |
parent | f81717444aa095b44f3badb8903d4df9d38aa25d (diff) | |
download | krb5-60de6ffcc44c4e9d9cf10a78d6c7eb5bb2712a5b.zip krb5-60de6ffcc44c4e9d9cf10a78d6c7eb5bb2712a5b.tar.gz krb5-60de6ffcc44c4e9d9cf10a78d6c7eb5bb2712a5b.tar.bz2 |
* des_int.h: Use better logic to find an appropriate type for
KRB_INT32; also don't assume that a key schedule element is
exactly 64 bits wide... use instead 2 * KRB_INT32, since that is
what the code uses internally.
* des.h: Use better logic to find an appropriate type for
KRB_INT32.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10228 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/crypto/des/ChangeLog | 10 | ||||
-rw-r--r-- | src/lib/crypto/des/des.h | 18 | ||||
-rw-r--r-- | src/lib/crypto/des/des_int.h | 21 |
3 files changed, 42 insertions, 7 deletions
diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog index 92a9ea8..1aed798 100644 --- a/src/lib/crypto/des/ChangeLog +++ b/src/lib/crypto/des/ChangeLog @@ -1,3 +1,13 @@ +Tue Oct 14 15:35:53 1997 Tom Yu <tlyu@voltage-multiplier.mit.edu> + + * des_int.h: Use better logic to find an appropriate type for + KRB_INT32; also don't assume that a key schedule element is + exactly 64 bits wide... use instead 2 * KRB_INT32, since that is + what the code uses internally. + + * des.h: Use better logic to find an appropriate type for + KRB_INT32. + Mon Oct 6 11:32:51 1997 Ezra Peisach <epeisach@mit.edu> * destest.c (main): Initialize context to 0 so it will not be diff --git a/src/lib/crypto/des/des.h b/src/lib/crypto/des/des.h index 6d8307a..f78e924 100644 --- a/src/lib/crypto/des/des.h +++ b/src/lib/crypto/des/des.h @@ -16,16 +16,22 @@ #include "k5-int.h" #ifndef KRB_INT32 -#if (SIZEOF_LONG == 4) +#ifdef SIZEOF_INT +#if SIZEOF_INT >= 4 +#define KRB_INT32 int +#else #define KRB_INT32 long -#elif (SIZEOF_INT == 4) +#endif +#else /* !defined(SIZEOF_INT) */ +#include <limits.h> +#if (UINT_MAX >= 0xffffffff) #define KRB_INT32 int -#elif (SIZEOF_SHORT == 4) -#define KRB_INT32 short #else - ?== No 32 bit type available +#define KRB_INT32 long #endif -#endif /* !KRB_INT32 */ +#endif /* !defined(SIZEOF_INT) */ +#endif /* !defined(KRB_INT32) */ + #ifndef KRB_UINT32 #define KRB_UINT32 unsigned KRB_INT32 #endif diff --git a/src/lib/crypto/des/des_int.h b/src/lib/crypto/des/des_int.h index 68fa325..52fd8e1 100644 --- a/src/lib/crypto/des/des_int.h +++ b/src/lib/crypto/des/des_int.h @@ -28,6 +28,8 @@ #ifndef DES_INTERNAL_DEFS #define DES_INTERNAL_DEFS +#include "des.h" + /* * Begin "mit-des.h" */ @@ -44,9 +46,26 @@ typedef krb5_octet mit_des_cblock[8]; /* crypto-block size */ +#ifndef KRB_INT32 +#ifdef SIZEOF_INT +#if SIZEOF_INT >= 4 +#define KRB_INT32 int +#else +#define KRB_INT32 long +#endif +#else /* !defined(SIZEOF_INT) */ +#include <limits.h> +#if (UINT_MAX >= 0xffffffff) +#define KRB_INT32 int +#else +#define KRB_INT32 long +#endif +#endif /* !defined(SIZEOF_INT) */ +#endif /* !defined(KRB_INT32) */ + /* Key schedule--used internally by DES routines to gain some speed */ typedef struct mit_des_ks_struct { - mit_des_cblock _; + KRB_INT32 _[2]; } mit_des_key_schedule[16]; /* Triple-DES structures */ |