there was a reggression in a series of commits that led to this issue,
mainly revolving around the switch from hex-encoded output to raw bytes.
the result was a seed file in which just the first 6 bytes were updated.
this is now fixed
refs:
c4dcab3046
revert c9398a0bf4
* move reseed_ctr and related member functions to Accumulator
* create a std::shared_ptr<Accumulator> to Fortuna's internal
Accumulator object and feed that into SeedFileManager instead of a
reference, which used to get copied to a new object in SeedFileManager
* make Accumulator non-copyable, since it's only to be created once.
instead, a shared_ptr is used to facilitate multiple-access
* handle concurrency in Accumulator as the reseed_ctr-related functions
can now be accessed from both Fortuna and SeedFileManager, declare mtx
as mutable (since it's also used in a const function)
* use std::scoped_lock in 'initialize_prng()' to safely lock both mutexes
a couple of fixes/necessary additions were made along the way, namely:
* add a default constructor for DoTask
* rework of the mutex/lock_guard/unique_lock logic in generator/fortuna
* add .fortuna.seed to the list of the ignored (.gitignore)
* add helper function to util for convertin bytes to blocks (16b==block)
* add a wrapper for around the SeedFileManager instance and a way to see
if it's dead or alive (so that it can be restarted if needed)
* the timeout for saving of the seed file has been decreased to a more
reasonable value than 10 minutes (I wouldn't want to lose potentially
up to 10 minutes worth of entropy)