summaryrefslogtreecommitdiff
path: root/src/librandom
AgeCommit message (Collapse)Author
2016-10-24 This one escaped the previous commit: random_init changesLaurent Bercot
2016-10-19 Better random_uint32 uniformity algorithmLaurent Bercot
2016-10-16 Fix headers in random_init.c; add a workaround for (pathological) ↵Laurent Bercot
getrandom() without /dev/urandom
2016-10-14 More typo fixingLaurent Bercot
2016-10-14 Add a cast to arc4random_addrandom invocation to make clang happyLaurent Bercot
2016-10-14 Include skalibs/nonposix.h so BSDs can find arc4randomLaurent Bercot
2016-10-14 Clean up and modernize librandom.Laurent Bercot
Correct random number generation has historically been suprisingly painful to achieve. There was no standard, every system behaved in a subtly different way, and there were a few userland initiatives to get decent randomness, all incompatible of course. The situation is a bit better now, we're heading towards some standardization. The arc4random() series of functions is a good API, and available on a lot of systems - unfortunately not Linux, but on Linux the new getrandom() makes using /dev/random obsolete. So I removed the old crap in librandom, dropped EGD support, dropped dynamic backend selection, made a single API series (random_* instead of goodrandom_* and badrandom_*), added an arc4random backend and a getrandom backend, and defaulted to /dev/urandom backed up by SURF in the worst case. This should be much smaller and logical. However, it's a major API break, so the skarnet.org stack will be changed to adapt.
2015-02-05 - Add siovec_truncLaurent Bercot
- Add openwritevnclose - replace buffer_read/write with fd_readsv/writesv - add localtmn_from_tain_g - refactor cdb_make - rewrite buffer_getvall and buffer_putvall, with a bugfix
2014-12-20 Lots of cosmetic fixes.Laurent Bercot
sha256 documented.
2014-09-18initial commit with rc for skalibs-2.0.0.0Laurent Bercot