* init_rkey.c (mit_des_init_random_key): Punt the struct; use
authorTom Yu <tlyu@mit.edu>
Mon, 29 Dec 1997 21:54:31 +0000 (21:54 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 29 Dec 1997 21:54:31 +0000 (21:54 +0000)
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

src/lib/crypto/des/ChangeLog
src/lib/crypto/des/init_rkey.c

index 5c7439f6900a20249c592cc46e3e6537844660e1..2e816ff6fce4fad81262b65ba1447395c026a30e 100644 (file)
@@ -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,
index 923ddd5508547510855394e6c6f2d9af44845fe8..5096647ec6bf3aa7776ffc3389a5bbc6b4ad7fd4 100644 (file)
@@ -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);