freebsd-dev/etc/rc.d
Mark Murray 10cb24248a This is the much-discussed major upgrade to the random(4) device, known to 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)
2014-10-30 21:21:53 +00:00
..
abi As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
accounting - Don't log messages saying that accounting is being disabled and enabled 2012-05-02 14:25:39 +00:00
addswap - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
adjkerntz Depend on the new 'postrandom' instead of random. 2012-08-22 18:49:02 +00:00
amd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
apm Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
apmd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
archdep Small cleanup, add (spurious) quotation marks around the value 2009-05-30 21:51:38 +00:00
atm1 As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
atm2 As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
atm3 As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
auditd Add 'nojail' keyword as auditd(8) can't really do anything useful when 2012-01-06 14:00:31 +00:00
auditdistd Fix the location of auditdistd configuration file. 2012-12-13 09:41:32 +00:00
automount Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
automountd Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
autounmountd Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
bgfsck s/-/_/ in name. 2014-10-12 22:11:28 +00:00
bluetooth Remove trailing white space. No functional changes. 2010-05-14 04:53:57 +00:00
bootparams Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
bridge Whitespace nit 2012-07-13 06:46:09 +00:00
bsnmpd Pass pidfile to bsnmpd if it's been changed (parts cut/pasted from 2013-08-19 05:37:49 +00:00
bthidd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
casperd Start-up script for casperd daemon. 2013-12-16 11:03:59 +00:00
ccd Remove $NetBSD$ CVS tags. We no longer attempt to synch our rc.d files 2007-12-08 07:20:23 +00:00
cleanvar Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
cleartmp Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
cron Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
ctld Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
DAEMON Remove $NetBSD$ CVS tags. We no longer attempt to synch our rc.d files 2007-12-08 07:20:23 +00:00
ddb Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
defaultroute /etc/rc.d/defaultroute currently bails immediately if all interfaces 2010-09-29 13:08:23 +00:00
devd Update userspace users of hw.bus.devctl_disable. 2014-03-26 02:25:40 +00:00
devfs As it stands right now, the default devfs rulesets are only loaded as a 2012-02-08 08:52:40 +00:00
dhclient dhclient: don't use syslog for logging non-DHCP interface errors 2012-01-20 17:19:50 +00:00
dmesg Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
dumpon This change does the following for the scripts that run up through 2010-05-19 19:03:19 +00:00
faith Replace ${SYSCTL_W} with ${SYSCTL} in rc.d scripts, as they are identical. 2011-03-30 01:19:00 +00:00
FILESYSTEMS Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
fsck - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
ftp-proxy Add support for multiple instances of ftp-proxy 2013-11-13 03:50:31 +00:00
ftpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
gbde As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
geli This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
geli2 Allow - be used in the name of a provider. Without this change it's not 2012-08-22 22:17:35 +00:00
gptboot Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
gssd Fix rc.d/gssd script to define the default values in a standard way. 2014-08-29 06:23:00 +00:00
hastd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
hcsecd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
hostapd Implement ifconfig_wlanX="HOSTAP". 2013-06-26 04:00:52 +00:00
hostid Replace ${SYSCTL_W} with ${SYSCTL} in rc.d scripts, as they are identical. 2011-03-30 01:19:00 +00:00
hostid_save This change does the following for the scripts that run up through 2010-05-19 19:03:19 +00:00
hostname There is no longer a need to abstract ${rcvar_manpage} as we are not 2012-01-08 20:25:29 +00:00
inetd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
ip6addrctl Use ipv6_prefer when at least one ifconfig_IF_ipv6 is configured. 2014-08-30 07:08:10 +00:00
ipfilter ipfilter 5.1.2 no longer supports sysctl. Use ipf -V to determine if 2013-09-10 13:48:33 +00:00
ipfs ipfilter 5.1.2 no longer supports sysctl. Use ipf -V to determine if 2013-09-10 13:48:33 +00:00
ipfw Refine the "nojail" rc keyword, adding "nojailvnet" for files that don't 2013-05-19 04:10:34 +00:00
ipmon ipfilter 5.1.2 no longer supports sysctl. Use ipf -V to determine if 2013-09-10 13:48:33 +00:00
ipnat Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ipropd_master Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
ipropd_slave Fix a typo; master server for iprop service should be singular. 2014-09-16 05:45:38 +00:00
ipsec Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
iscsictl Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
iscsid Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
jail Temporarily remove the warning added r270781 - it prints the warning 2014-09-08 05:14:58 +00:00
kadmind Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
kdc Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
keyserv Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
kfd Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
kld Ensure kldxref is run first. Currently both 'kldxref' and 'kld' depend 2011-12-01 22:50:10 +00:00
kldxref Whitespace nit 2012-07-13 06:46:09 +00:00
kpasswdd Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
ldconfig Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
local Output information only if /etc/rc.local exists. 2008-06-22 16:23:39 +00:00
local_unbound Revert r271257 after several issues were pointed out. An updated patch 2014-09-08 12:26:52 +00:00
localpkg As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
lockd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
LOGIN Avoid using BEFORE in the utx rc script. 2012-02-12 07:45:48 +00:00
lpd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
Makefile This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
mdconfig Loosen the processing of *_IF_aliasN vars to be less strict. Previously, 2014-04-07 22:40:29 +00:00
mdconfig2 Loosen the processing of *_IF_aliasN vars to be less strict. Previously, 2014-04-07 22:40:29 +00:00
mixer Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
motd In regards to the "Starting foo:" type messages at boot time, create and 2009-10-10 22:17:03 +00:00
mountcritlocal Add a sync to the shutdown step. In the common case this will be harmless 2010-11-25 18:20:28 +00:00
mountcritremote Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
mountd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
mountlate Introduce and use new flag -L to mount for mounting only late filesystems. 2013-05-04 14:00:16 +00:00
moused Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
mroute6d Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
mrouted Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
msgs As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
natd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
netif Rename s/network/netif/ and set netif_enable for namespace consistency. 2014-10-11 20:28:04 +00:00
netoptions Add $ipv6_cpe_wanif to enable functionality required for IPv6 CPE 2011-09-13 00:06:11 +00:00
netwait Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
NETWORKING Forgotten in r255825: NETWORKING requires local_unbound. 2013-09-24 11:49:04 +00:00
newsyslog Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
nfscbd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
nfsclient Make three one line changes to the rc scripts so that 2011-06-11 21:14:22 +00:00
nfsd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
nfsuserd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
nisdomain Substitute ypset for ypbind in REQUIRE lines. If you use ypset it has to 2009-06-01 04:55:13 +00:00
nscd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
nsswitch Prefer echo over printf 2010-09-27 15:55:39 +00:00
ntpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
ntpdate Remove remnants of BIND from /etc, since there is no BIND in base now. 2013-11-05 09:30:06 +00:00
opensm Add svn:executable property 2011-04-25 05:57:01 +00:00
othermta As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
pf Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pflog Add support for multiple instances of ftp-proxy 2013-11-13 03:50:31 +00:00
pfsync When stopping pfsync, remove the pfsync interface's syncpeer setting. 2013-07-15 08:48:45 +00:00
postrandom This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
power_profile rc.d/power_profile: use recently added Cmax for cx_lowest 2012-09-11 06:25:10 +00:00
powerd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ppp Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pppoed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pwcheck Remove $NetBSD$ CVS tags. We no longer attempt to synch our rc.d files 2007-12-08 07:20:23 +00:00
quota Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
random This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
rarpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
rctl Allow overriding rctl.conf(5) file location for /etc/rc.d/rctl 2014-02-15 14:50:47 +00:00
resolv Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
rfcomm_pppd_server Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
root Do nextboot -D twice during boot. The first time in rc.d/root which ensures that 2008-03-11 17:21:14 +00:00
route6d Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
routed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
routing Make net.inet.ip.sourceroute, net.inet.ip.accept_sourceroute, and 2014-09-15 07:20:40 +00:00
rpcbind Remove remnants of BIND from /etc, since there is no BIND in base now. 2013-11-05 09:30:06 +00:00
rtadvd Add a reload command. 2013-10-22 07:44:26 +00:00
rtsold Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
rwho Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
savecore After writing a kernel core dump into /var/crash, call sync(8). 2013-08-28 15:12:15 +00:00
sdpd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
securelevel Add dependencies based on security(7). 2012-08-22 18:35:17 +00:00
sendmail Enable the automatic creation of a certificate (if one does not exists) 2013-10-19 18:51:06 +00:00
serial With uart(4) default, change /dev/cuad# to /dev/cuau# and 2008-07-19 20:12:02 +00:00
SERVERS Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
sppp As previously discussed, add the svn:executable property to all scripts 2008-07-16 19:22:48 +00:00
sshd Upgrade to OpenSSH 6.5p1. 2014-01-31 13:12:02 +00:00
statd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
static_arp Set svn:executable to *. 2010-01-11 23:32:36 +00:00
static_ndp Correctly reassign copyright of etc/rc.d/static_ndp back to delphij@ 2011-10-23 10:17:42 +00:00
stf Remove trailing white space. No functional changes. 2010-05-14 04:53:57 +00:00
swap - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
swaplate - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
syscons The new naming scheme for keymap files for use with vt(4) introduced a 2014-09-22 11:54:13 +00:00
sysctl Do not exit with non-zero return code if sysctl.conf or sysctl.conf.local files 2014-01-21 18:57:49 +00:00
syslogd Remove remnants of BIND from /etc, since there is no BIND in base now. 2013-11-05 09:30:06 +00:00
timed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
tmp MFP4 214344: 2012-07-13 20:10:59 +00:00
ubthidhci Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ugidfw Add the shutdown KEYWORD to those scripts that start persistent services 2008-07-16 19:50:29 +00:00
utx Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
var Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
virecover Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
watchdogd when watchdogd is asked to exit nicely (via SIGTERM) it will 2014-04-16 22:26:42 +00:00
wpa_supplicant Move is_wired_interface() from rc.d/wpa_supplicant into network.subr, 2009-08-23 05:47:19 +00:00
ypbind Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
yppasswdd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypserv Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypset Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypupdated Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypxfrd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
zfs rc.d/zfs: pass -v option to zfs mount 2013-07-09 08:59:39 +00:00
zvol Commit two more files missed in r219089. 2011-02-27 19:44:10 +00:00