--- - branch: MAIN date: Sun Jun 23 02:35:24 UTC 2013 files: - new: '1.1' old: '0' path: src/share/man/man9/rndsink.9 pathrev: src/share/man/man9/rndsink.9@1.1 type: added - new: '1.1074' old: '1.1073' path: src/sys/conf/files pathrev: src/sys/conf/files@1.1074 type: modified - new: '1.13' old: '1.12' path: src/sys/dev/rndpseudo.c pathrev: src/sys/dev/rndpseudo.c@1.13 type: modified - new: '1.14' old: '1.13' path: src/sys/kern/kern_rndq.c pathrev: src/sys/kern/kern_rndq.c@1.14 type: modified - new: '1.1' old: '0' path: src/sys/kern/kern_rndsink.c pathrev: src/sys/kern/kern_rndsink.c@1.1 type: added - new: '1.18' old: '1.17' path: src/sys/kern/subr_cprng.c pathrev: src/sys/kern/subr_cprng.c@1.18 type: modified - new: '1.33' old: '1.32' path: src/sys/lib/libkern/arc4random.c pathrev: src/sys/lib/libkern/arc4random.c@1.33 type: modified - new: '1.128' old: '1.127' path: src/sys/rump/librump/rumpkern/Makefile.rumpkern pathrev: src/sys/rump/librump/rumpkern/Makefile.rumpkern@1.128 type: modified - new: '1.7' old: '1.6' path: src/sys/rump/librump/rumpkern/cprng_stub.c pathrev: src/sys/rump/librump/rumpkern/cprng_stub.c@1.7 type: modified - new: '1.7' old: '1.6' path: src/sys/sys/cprng.h pathrev: src/sys/sys/cprng.h@1.7 type: modified - new: '1.38' old: '1.37' path: src/sys/sys/rnd.h pathrev: src/sys/sys/rnd.h@1.38 type: modified - new: '1.1' old: '0' path: src/sys/sys/rndsink.h pathrev: src/sys/sys/rndsink.h@1.1 type: added - new: '1.12' old: '1.11' path: src/usr.bin/fstat/misc.c pathrev: src/usr.bin/fstat/misc.c@1.12 type: modified id: 20130623T023524Z.435a0849dcc8dfa6f81d5c527544da7a3460c4dc log: | Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9). rndsink(9): - Simplify API. - Simplify locking scheme. - Add a man page. - Avoid races in destruction. - Avoid races in requesting entropy now and scheduling entropy later. Periodic distribution of entropy to sinks reduces the need for the last one, but this way we don't need to rely on periodic distribution (e.g., in a future tickless NetBSD). rndsinks_lock should probably eventually merge with the rndpool lock, but we'll put that off for now. cprng(9): - Make struct cprng_strong opaque. - Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c. - Fix kevent locking. (Is kevent locking documented anywhere?) - Stub out rump cprng further until we can rumpify rndsink instead. - Strip code to grovel through struct cprng_strong in fstat. module: src subject: 'CVS commit: src' unixtime: '1371954924' user: riastradh