#ifndef DES_INTERNAL_DEFS
#define DES_INTERNAL_DEFS
-#include "mit-des.h" /* From include/krb5 */
+/*
+ * Begin "mit-des.h"
+ */
+#ifndef KRB5_MIT_DES__
+#define KRB5_MIT_DES__
+
+typedef krb5_octet mit_des_cblock[8]; /* crypto-block size */
+
+/* Key schedule--used internally by DES routines to gain some speed */
+typedef struct mit_des_ks_struct {
+ mit_des_cblock _;
+} mit_des_key_schedule[16];
+
+#define MIT_DES_ENCRYPT 1
+#define MIT_DES_DECRYPT 0
+
+typedef struct mit_des_ran_key_seed {
+ krb5_octet sequence_number[8];
+ mit_des_key_schedule random_sequence_key;
+} mit_des_random_key_seed;
+
+/* the first byte of the key is already in the keyblock */
+
+#define MIT_DES_BLOCK_LENGTH (8*sizeof(krb5_octet))
+#define MIT_DES_CBC_CRC_PAD_MINIMUM CRC32_CKSUM_LENGTH
+/* This used to be 8*sizeof(krb5_octet) */
+#define MIT_DES_KEYSIZE 8
+
+#define MIT_DES_CBC_CKSUM_LENGTH (4*sizeof(krb5_octet))
+
+/* cryptosystem entry descriptor for MIT's DES encryption library */
+extern krb5_cs_table_entry krb5_raw_des_cst_entry;
+extern krb5_cs_table_entry krb5_des_crc_cst_entry;
+extern krb5_cs_table_entry krb5_des_md5_cst_entry;
+extern krb5_checksum_entry krb5_des_cbc_cksumtable_entry;
+
+/*
+ * Check if k5-int.h has been included before us. If so, then check to see
+ * that our view of the DES key size is the same as k5-int.h's.
+ */
+#ifdef KRB5_MIT_DES_KEYSIZE
+#if MIT_DES_KEYSIZE != KRB5_MIT_DES_KEYSIZE
+error(MIT_DES_KEYSIZE does not equal KRB5_MIT_DES_KEYSIZE)
+#endif /* MIT_DES_KEYSIZE != KRB5_MIT_DES_KEYSIZE */
+#endif /* KRB5_MIT_DES_KEYSIZE */
+#endif /* KRB5_MIT_DES__ */
+/*
+ * End "mit-des.h"
+ */
/* cbc_cksum.c */
extern krb5_error_code mit_des_cbc_checksum
krb5_octet FAR *));
/* des.c */
extern int mit_des_ecb_encrypt
- PROTOTYPE((unsigned long FAR *, unsigned long FAR *, mit_des_key_schedule , int ));
+ PROTOTYPE((mit_des_cblock FAR *, mit_des_cblock FAR *, mit_des_key_schedule , int ));
/* f_cbc.c */
extern int mit_des_cbc_encrypt