summaryrefslogtreecommitdiffstats
path: root/libexec/save-entropy
Commit message (Collapse)AuthorAgeFilesLines
* Add META_MODE support.sjg2015-06-131-0/+11
|\ | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp
| * dirdeps.mk now sets DEP_RELDIRsjg2015-06-081-2/+0
| |
| * Merge from head@274682sjg2014-11-191-1/+1
| |\
| * \ Merge head from 7/28sjg2014-08-191-0/+2
| |\ \
| * | | We do want objdirsjg2013-10-131-1/+0
| | | |
| * | | New dependenciessjg2013-10-131-0/+12
| | | |
* | | | Remove NO_OBJsjg2015-06-111-1/+0
| |_|/ |/| | | | | | | | | | | | | | | | | For meta mode we will want objdirs. Differential Revision: D2748 Reviewed by: brooks imp
* | | This is the much-discussed major upgrade to the random(4) device, known to ↵markm2014-10-301-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | you all as /dev/random. This code has had an extensive rewrite and a good series of reviews, both by the author and other parties. This means a lot of code has been simplified. Pluggable structures for high-rate entropy generators are available, and it is most definitely not the case that /dev/random can be driven by only a hardware souce any more. This has been designed out of the device. Hardware sources are stirred into the CSPRNG (Yarrow, Fortuna) like any other entropy source. Pluggable modules may be written by third parties for additional sources. The harvesting structures and consequently the locking have been simplified. Entropy harvesting is done in a more general way (the documentation for this will follow). There is some GREAT entropy to be had in the UMA allocator, but it is disabled for now as messing with that is likely to annoy many people. The venerable (but effective) Yarrow algorithm, which is no longer supported by its authors now has an alternative, Fortuna. For now, Yarrow is retained as the default algorithm, but this may be changed using a kernel option. It is intended to make Fortuna the default algorithm for 11.0. Interested parties are encouraged to read ISBN 978-0-470-47424-2 "Cryptography Engineering" By Ferguson, Schneier and Kohno for Fortuna's gory details. Heck, read it anyway. Many thanks to Arthur Mesh who did early grunt work, and who got caught in the crossfire rather more than he deserved to. My thanks also to folks who helped me thresh this out on whiteboards and in the odd "Hallway track", or otherwise. My Nomex pants are on. Let the feedback commence! Reviewed by: trasz,des(partial),imp(partial?),rwatson(partial?) Approved by: so(des)
* | Don't save entropy inside jails.delphij2014-07-221-0/+2
|/ | | | | | | | | | As of r126744, we no longer feed the entropy device in jails upon start, and collecting them is no longer useful. PR: conf/126744 Submitted by: Eugene Grosbein <eugen grosbein net> (with minor changes) MFC after: 1 week Approved by: so (des)
* 1. Use install -d to create the entropy_dir if missing so that we can do itdougb2012-09-041-28/+26
| | | | | | | | | | | | | | | | | | | | all in one command, with no permissions race. 2. Simplify the rotation logic by cd'ing into the directory, with a test to make sure that it succeeds. 3. Remove any files numbered higher than entropy_save_num. This helps when the user reduces the number, and may be useful for other purposes down the road. 4. Simplify the rotation logic by first testing the common case (it's a regular file) then testing if something else exists with the same name using elif. Also switch from using jot to simpler countdown format. 5. Fix logger lines and error messages to be more consistent, and wrap the code more consistently in the 80 column range. The "not a regular file" error message was mistakenly wrapped entirely in "quotes" which caused logger to include line-wrapping whitespace. Change that to wrap only the variables in quotes, which is both consistent and works better. 6. Update copyright to reflect the fact that changes were made this year. Parts of 2-4 were taken from etc/periodic/daily/310.accounting
* 1. Attempt to take one bullet out of the foot-shooting gun by silentlydougb2006-08-281-10/+10
| | | | | | | | | | | | | | ignoring errors when sourcing rc.conf* files. The most common error occurs when users put a command of some sort into those files. (ifconfig is a popular choice) 2. Make the file rotation logic simpler by starting one down from the "top" of the list, rather than at the top. 3. Try to make file rotation more secure by calling unlink(1) on all new file names before rotating an old file to the new name, rather than merely calling 'rm -f' on any files that exceed the number of files to save.
* The script mistakenly ignores the entropy_save_sz variable fromdougb2005-04-111-2/+2
| | | | | | | | | | | | | | | rc.conf[.local]. Fix this, and leave the default as 2048. Update the copyright year to include the present. Update the assignment of the copyright to be me personally, instead of "The FreeBSD Project" which is not a legal entity, and therefore not a proper assignee. My intention remains the same however, that this code continue to be BSD licensed, and freely available to anyone that wants it under those terms. PR: conf/75722 Submitted by: Nicolas Rachinsky <list@rachinsky.de>
* Start the dreaded NOFOO -> NO_FOO conversion.ru2004-12-211-1/+1
| | | | OK'ed by: core
* Mark bits that do not require an object directory as such.ru2003-04-011-0/+1
|
* beforeinstall -> SCRIPTS.ru2001-04-071-6/+1
|
* Move the process of storing entropy from /dev/random and reseeding withdougb2001-01-141-10/+20
| | | | | | | | | | | | | | | | it at boot time closer to the way we want it to be in the final version. * Move the default directory to /var/db/entropy * Run the entropy saving cron job every 11 minutes. This seems to be a better default, although still bikeshed material. * Feed /dev/random some cheesy "entropy" from various commands and files before the disks are mounted. This gives /dev/random a better chance of running without blocking early. * Move the reseeding with previously stored entropy to the point immediately after the disks are mounted. * Make the harvesting script a little safer in regards to the possibility of accidentally overwriting something other than a regular file.
* Add a system to save entropy from /dev/random periodically so thatdougb2001-01-112-0/+92
it can be used to reseed at boot time. This will greatly increase the chances that there will be sufficient entropy available at boot time to prevent long delays. For /etc/rc, remove the vmstat and iostat runs from the attempt to provide some cheesy randomness if the files fail, since those programs are dynamically linked, and ldd seems to want some randomness to do its magic. Guidance and parameters for this project were provided by Mark Murray, based on the requirements of the Yarrow algorithm. Some helpful suggestions for implementation (including the tip about iostat and vmstat) were provided by Sheldon Hearn. All blame for problems or mistakes is mine of course.
OpenPOWER on IntegriCloud