*
* \brief API function for to manage entropy pool.
*
- * \version $Id$
* \author Daniele Basile <asterix@develer.com>
*/
/*
* Insert a bytes in entropy pool.
*/
- for(int j = 0; j < n_byte; j++)
+ for(size_t j = 0; j < n_byte; j++)
{
pool->pool_entropy[i] = pool->pool_entropy[i] ^ byte[j];
- i = (++i) % CONFIG_SIZE_ENTROPY_POOL;
+ i++;
+ i = i % CONFIG_SIZE_ENTROPY_POOL;
}
pool->pos_add = i; // Update a insert bytes.
for (int i = 0; i < (CONFIG_SIZE_ENTROPY_POOL / MD2_DIGEST_LEN); i++)
{
- sprintf(tmp_buf, "%0x%0x%0x",pool->counter, i, pool->pos_add);
+ sprintf((char *)tmp_buf, "%0x%0x%0x", pool->counter, i, pool->pos_add);
/*
* Hash with MD2 algorithm the entropy pool.
/*Insert a message digest in entropy pool.*/
randpool_push(pool, md2_end(&context), MD2_DIGEST_LEN);
- pool->counter = pool->counter + 1;
+ pool->counter = pool->counter + 1;
}
/**
* Randpool function initialization.
- * The entropy pool can be initialize also with
- * a previous entropy pool.
+ * The entropy pool can be initialize also with
+ * a previous entropy pool.
*/
void randpool_init(EntropyPool *pool, void *_data, size_t len)
{
if(data)
{
/*
- * Initialize a entropy pool with a
+ * Initialize a entropy pool with a
* previous pool, and assume all pool as
* entropy.
*/
data = (uint8_t *)_data;
/* Test if i + CONFIG_MD2_BLOCK_LEN is inside of entropy pool.*/
- ASSERT((MD2_DIGEST_LEN + i) < CONFIG_SIZE_ENTROPY_POOL);
+ ASSERT((MD2_DIGEST_LEN + i) <= CONFIG_SIZE_ENTROPY_POOL);
md2_init(&context);
pool->pos_get = i; //Current number of byte we get from pool.
pool->entropy -= n_byte; //Update a entropy.
- /*If we get all entropy entropy is 0*/
- if(pool->entropy < 0)
- pool->entropy = 0;
-
}
/**