From 72f3d8e36a0da7abd312a4454aaee8c70e41c879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Groenvall?= Date: Wed, 21 Feb 1996 15:20:49 +0000 Subject: [PATCH] x git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@273 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/des/des.h | 1 + lib/des/rnd_keys.c | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/des/des.h b/lib/des/des.h index c8b946887..946f193a1 100644 --- a/lib/des/des.h +++ b/lib/des/des.h @@ -72,6 +72,7 @@ int des_string_to_2keys __P((char *str,des_cblock *key1,des_cblock *key2)); void des_set_random_generator_seed __P((des_cblock *seed)); int des_new_random_key __P((des_cblock *key)); void des_init_random_number_generator __P((des_cblock *seed)); +void des_set_sequence_number __P((unsigned char *ll)); int des_random_key __P((des_cblock ret)); int des_read_password __P((des_cblock *key,char *prompt,int verify)); int des_read_2passwords __P((des_cblock *key1,des_cblock *key2,char *prompt,int verify)); diff --git a/lib/des/rnd_keys.c b/lib/des/rnd_keys.c index e4dca5bca..26dff8584 100644 --- a/lib/des/rnd_keys.c +++ b/lib/des/rnd_keys.c @@ -57,11 +57,21 @@ do_initialize(void) #define incr_long_long(ll) do { if (++ll[0] == 0) ++ll[1]; } while (0) -#define des_set_sequence_number(ll) \ -do { \ - memcpy((char *)sequence_index, (ll), sizeof(sequence_index)); \ - } while (0) +#define set_sequence_number(ll) \ + memcpy((char *)sequence_index, (ll), sizeof(sequence_index)); +/* + * Set the sequnce number to this value (a long long). + */ +void +des_set_sequence_number(unsigned char *ll) +{ + set_sequence_number(ll); +} + +/* + * Set the generator seed and reset the sequence number to 0. + */ void des_set_random_generator_seed(des_cblock *seed) { @@ -129,14 +139,14 @@ des_init_random_number_generator(des_cblock *seed) /* Pick a unique random key from the shared sequence. */ des_set_random_generator_seed(seed); - des_set_sequence_number((unsigned char *)uniq); + set_sequence_number((unsigned char *)uniq); des_new_random_key(&new_key); /* Select a new nonshared sequence, */ des_set_random_generator_seed(&new_key); /* and use the current time to pick a key for the new sequence. */ - des_set_sequence_number((unsigned char *)&now); + set_sequence_number((unsigned char *)&now); des_new_random_key(&new_key); des_set_random_generator_seed(&new_key); }