aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1997-10-14 19:38:37 +0000
committerTom Yu <tlyu@mit.edu>1997-10-14 19:38:37 +0000
commit60de6ffcc44c4e9d9cf10a78d6c7eb5bb2712a5b (patch)
treeab17e7df7fed61a0f128f909cfbcc342cedab43c /src/lib
parentf81717444aa095b44f3badb8903d4df9d38aa25d (diff)
downloadkrb5-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/ChangeLog10
-rw-r--r--src/lib/crypto/des/des.h18
-rw-r--r--src/lib/crypto/des/des_int.h21
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 */