summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1997-12-29 21:54:31 +0000
committerTom Yu <tlyu@mit.edu>1997-12-29 21:54:31 +0000
commitbec9133f41994f299d236ea89e575be2c1b839d5 (patch)
treef4cd624aad9072a69b2aad8f106b584b855e091c
parent085b9b3c53aa1acc3007e25adb6eae63c85f8bc7 (diff)
downloadkrb5-bec9133f41994f299d236ea89e575be2c1b839d5.tar.gz
krb5-bec9133f41994f299d236ea89e575be2c1b839d5.tar.xz
krb5-bec9133f41994f299d236ea89e575be2c1b839d5.zip
* init_rkey.c (mit_des_init_random_key): Punt the struct; use
explicit variables instead because we're no longer doing a memcpy. In addition, fill p_state->sequence.data a byte at a time. [krb5-libs/492] git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10344 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/crypto/des/ChangeLog7
-rw-r--r--src/lib/crypto/des/init_rkey.c20
2 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog
index 5c7439f69..2e816ff6f 100644
--- a/src/lib/crypto/des/ChangeLog
+++ b/src/lib/crypto/des/ChangeLog
@@ -1,3 +1,10 @@
+Thu Dec 25 20:57:53 1997 Tom Yu <chaoself@mit.edu>
+
+ * init_rkey.c (mit_des_init_random_key): Punt the struct; use
+ explicit variables instead because we're no longer doing a
+ memcpy. In addition, fill p_state->sequence.data a byte at a
+ time. [krb5-libs/492]
+
Mon Oct 27 01:06:34 1997 Tom Yu <tlyu@mit.edu>
* d3_cbc.c, des.h, des_int.h, f_cbc.c, f_cksum.c, f_ecb.c,
diff --git a/src/lib/crypto/des/init_rkey.c b/src/lib/crypto/des/init_rkey.c
index 923ddd550..5096647ec 100644
--- a/src/lib/crypto/des/init_rkey.c
+++ b/src/lib/crypto/des/init_rkey.c
@@ -48,10 +48,9 @@ mit_des_init_random_key (eblock, seedblock, state)
krb5_error_code kret = 0;
krb5_address **addrs = 0;
krb5_data seed;
- struct tval {
- krb5_int32 seconds;
- krb5_int32 microseconds;
- } timenow;
+ krb5_int32 now;
+ krb5_int32 unow;
+ unsigned char *cp;
switch (enctype)
{
@@ -137,9 +136,16 @@ mit_des_init_random_key (eblock, seedblock, state)
if (kret) goto cleanup;
/* sequence = time */
- (void) krb5_crypto_us_timeofday(&timenow.seconds,
- &timenow.microseconds);
- memcpy((char *)p_state->sequence.data, (char *)&timenow, sizeof(timenow));
+ (void) krb5_crypto_us_timeofday(&now, &unow);
+ cp = p_state->sequence.data;
+ *cp++ = (now >> 24) & 0xff;
+ *cp++ = (now >> 16) & 0xff;
+ *cp++ = (now >> 8) & 0xff;
+ *cp++ = now & 0xff;
+ *cp++ = (unow >> 24) & 0xff;
+ *cp++ = (unow >> 16) & 0xff;
+ *cp++ = (unow >> 8) & 0xff;
+ *cp++ = unow &0xff;
/* seed = random(tmp.seed, time) */
kret = mit_des_random_key(NULL, p_state, &new_key);