From: asterix Date: Mon, 12 Feb 2007 09:40:43 +0000 (+0000) Subject: Remove randpool_load function. Add *data in randpool_init prototype. X-Git-Tag: 1.0.0~464 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=bd5a6de1603564daa55869e9dc524bb20be79556;p=bertos.git Remove randpool_load function. Add *data in randpool_init prototype. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@777 38d2e660-2303-0410-9eaa-f027e97ec537 --- diff --git a/algos/randpool.c b/algos/randpool.c index 58415efe..63a2716a 100755 --- a/algos/randpool.c +++ b/algos/randpool.c @@ -13,6 +13,9 @@ /*#* *#* $Log$ + *#* Revision 1.11 2007/02/12 09:40:43 asterix + *#* Remove randpool_load function. Add *data in randpool_init prototype. + *#* *#* Revision 1.10 2007/02/12 09:03:32 asterix *#* Add CONFIG_RANDPOOL_TIMER macro to swich on or off timer support *#* @@ -152,9 +155,16 @@ void randpool_add(EntropyPool *pool, void *data, size_t data_len, size_t entropy pool->last_counter = event; } - -void randpool_init(EntropyPool *pool) +/** + * Randpool function initialization. + * The entropy pool can be initialize also with + * a previous entropy pool. + */ +void randpool_init(EntropyPool *pool, void *_data, size_t len) { + uint8_t *data; + + data = (uint8_t *)_data; memset(pool, 0, sizeof(EntropyPool)); pool->pos_get = CONFIG_MD2_BLOCK_LEN; @@ -163,6 +173,18 @@ void randpool_init(EntropyPool *pool) pool->last_counter = timer_clock(); #endif + ASSERT(len < CONFIG_SIZE_ENTROPY_POOL); + + if(len > 0) + { + /* + * Initialize a entropy pool with a + * previous pool, and assume all pool as + * entropy. + */ + memcpy(pool->pool_entropy, data, len); + pool->entropy = len; + } } @@ -231,7 +253,3 @@ bool randpool_save(void *data) { } -uint8_t *randpool_load(void) -{ -} - diff --git a/algos/randpool.h b/algos/randpool.h index 98acb03f..af9edc44 100755 --- a/algos/randpool.h +++ b/algos/randpool.h @@ -14,6 +14,9 @@ /*#* *#* $Log$ + *#* Revision 1.7 2007/02/12 09:40:43 asterix + *#* Remove randpool_load function. Add *data in randpool_init prototype. + *#* *#* Revision 1.6 2007/02/09 15:49:54 asterix *#* Fix bug in randpool_stir and randpool_add. Typos. *#* @@ -58,11 +61,10 @@ typedef struct EntropyPool void randpool_add(EntropyPool *pool, void *data, size_t data_len, size_t entropy); -void randpool_init(EntropyPool *pool); +void randpool_init(EntropyPool *pool, void *_data, size_t len); size_t randpool_size(EntropyPool *pool); void randpool_get(EntropyPool *pool, void *data, size_t n_byte); void randpool_getN(EntropyPool *pool, void *data, size_t n_byte); bool randpool_save(void *data); -uint8_t *randpool_load(void); #endif /* RANDPOOL_H */