summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorMark Eichin <eichin@mit.edu>1994-06-10 21:01:17 +0000
committerMark Eichin <eichin@mit.edu>1994-06-10 21:01:17 +0000
commit189304c9ff4e8442d89a4f5d256d578a69b381cb (patch)
tree7a2cfd05a919a9b10e299913338df1f2b2167225 /src/lib
parenta9e4a303da511768c7c182628fd8a9974381747b (diff)
downloadkrb5-189304c9ff4e8442d89a4f5d256d578a69b381cb.tar.gz
krb5-189304c9ff4e8442d89a4f5d256d578a69b381cb.tar.xz
krb5-189304c9ff4e8442d89a4f5d256d578a69b381cb.zip
use LSBFIRST and MSBFIRST to detect which version of DES we're using.
This is the only "invasive" autoconf vs. imake change... git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3733 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/crypto/des/key_sched.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/crypto/des/key_sched.c b/src/lib/crypto/des/key_sched.c
index 07bafe97a..465bcdf29 100644
--- a/src/lib/crypto/des/key_sched.c
+++ b/src/lib/crypto/des/key_sched.c
@@ -54,6 +54,31 @@ static char rcsid_key_sched_c[] =
#include <krb5/krb5.h>
#include "des_int.h"
+#if !defined(LSBFIRST) && !defined(MSBFIRST)
+/* autoconf and Ferguson DES code */
+
+void make_key_sched PROTOTYPE((mit_des_cblock, mit_des_key_schedule));
+
+int
+mit_des_key_sched(k,schedule)
+ mit_des_cblock k;
+ mit_des_key_schedule schedule;
+{
+ if (!mit_des_check_key_parity(k)) /* bad parity --> return -1 */
+ return(-1);
+
+ if (mit_des_is_weak_key(k))
+ return(-2);
+
+ make_key_sched(k,schedule);
+
+ /* if key was good, return 0 */
+ return 0;
+}
+
+#else
+/* Imake and MIT DES code */
+
#include "key_perm.h"
extern int mit_des_debug;
@@ -258,3 +283,4 @@ make_key_sched(Key,Schedule)
}
#endif
}
+#endif