Commit Graph

686 Commits

Author SHA1 Message Date
kre bd7c53a85d Make this better ... Allow config file for raidN to be found
in /etc/conf/raid/raidN (as well as in /etc/raidN.conf) (less
clutter in /etc).

Allow config files to exist for raids that are autoconfigured (just
skip anything autoconfigured) - this allows a (simplistic) recovery
mechanism if autoconf fails, and makes it simpler to enable/disable
autoconf at will, while keeping the raid working.

While here, add sh quoting where it is needed, and remove it from
where it is pointless.
2022-07-21 07:49:36 +00:00
nia b7957d1677 build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.
2022-06-06 10:56:27 +00:00
nia 8469593b52 mk: Add a MKPPP flag to exclude pppd(8) and related utilities from
the build
2022-05-29 08:09:59 +00:00
nia f2e2da3feb mk: Add MKNTP, MKTCPDUMP knobs. 2022-05-28 11:17:35 +00:00
nia 6678627ac7 mk: Rename the MKMBONE option to MKMROUTING for greater accuracy and
to match the related kernel config option.
2022-05-25 21:25:46 +00:00
nia 30fbdc74a3 mk: Allow building base without the MBONE applications by setting
MKMBONE=no in mk.conf
2022-05-25 10:18:28 +00:00
martin 901c0b91c9 PR 56835: fix sshd startup script to only whine about bogus keys it
created if it actualy did create keys (one should thing that a
function called sshd_keygen() only is called to create keys, but
the "precmd" magic makes it run every time sshd is started or stopped).

Patch from Tom Lane, with modifications suggested by kre and a minor
additional cosemtic change.
2022-05-15 11:47:42 +00:00
brad 84213c7105 Like /etc/rc.d/network, add the ability to put a '!' character as the
first character in /etc/gpio.conf and have the rest evaluated in a
shell.  It is useful to be able to do actions after setting up gpio
pins or attaching gpioiic(4).
2022-04-30 13:48:09 +00:00
andvar f84252b461 fix various typos in comments and log messages. 2022-04-16 18:15:20 +00:00
gutteridge 08a9f63190 LOGIN: fix typo in description 2022-03-02 01:55:18 +00:00
alnsn 0e59248afa Enable critical_filesystems_zfs. 2022-02-20 14:42:07 +00:00
sborrill 956275fd6a Revert previous. Explicitly load the value of npf or pf 2021-11-30 11:00:29 +00:00
sborrill bf76deaf12 Load rc configuration based on rcvar, not name, so that correct settings
in /etc/rc.conf.d are loaded.

Usually this does not matter as rcvar and name are set to the same value.
For pf_boot and npf_boot, rcvar is set to pf and npf respectively.

Prior to the change, if:
rc.conf contains nfp=YES
rc.conf.d/npf does not exist

Then:
/etc/rc.d/npf_boot rcvar
outputs:
# npf_boot
$npf=YES

If:
rc.conf contains npf=NO (or is not set)
rc.conf.d/npf contains npf=YES

Then:
/etc/rc.d/npf_boot rcvar
outputs:
# npf_boot
$npf=NO

This means that in the latter case, at boot time the npfctl start command
is never run and the firewall is not operational.
2021-11-26 13:11:36 +00:00
sborrill 1438126a18 Use rcvar=$name syntax consistently in rc.d scripts which makes it easier to
search for rc.d scripts where rcvar differs from name. No functional change.
2021-11-26 12:51:24 +00:00
martin 39237b4ead If key generation happens with not enough entropy in the system, add
a warning to motd pointing at entropy(7) and give instructions how to
re-generate the (weak) keys after fixing up entropy.

Add a "keyregen" command, which forces regeneration of all host keys
to simplify the replacement of weak keys.
2021-09-26 10:53:20 +00:00
andvar c69f42d323 fix mainly same typos as in my previous commit but outside sys/dev/dm. 2021-08-21 23:00:30 +00:00
mlelstv c413ec6508 Reverse devpubd dependeny to avoid dangling reference to zfs which is
an optional part of the build.
2021-08-03 05:15:20 +00:00
mlelstv ad07108f16 Run devpubd before volume managers and pseudo disks. 2021-07-31 14:47:04 +00:00
mlelstv b259e1d9fc run sysctl early enough. 2021-06-13 10:14:40 +00:00
christos d80018d9b8 handle copying of plugins to the chroot 2021-03-31 04:57:25 +00:00
sborrill 4f6c3ffcd1 Need to explicitly load value of zfs variable as zfs=YES may be set in
/etc/rc.conf.d/zfs, not /etc/rc.conf.
2021-03-09 12:42:46 +00:00
christos b60051daa5 require NETWORKING otherwise amd can come up before the network is up and
it needs to be able to do DNS.
2021-03-01 23:02:30 +00:00
hannken 0c0601776b Enable "/etc/zfs/exports" from "zfs share" in rc.d/mountd and rc.d/mountall. 2021-02-16 10:02:42 +00:00
martin b2434f4d17 llvmlockdir -> lvmlockdir 2021-01-26 15:08:02 +00:00
martin 9869002d85 Rename etc/rc.d/llvmlockdir to lvmlockdir - it has nothing to do with LLVM,
the name probably was a freudian slip of my fingers when I split that
fragment out of another rc.d script.
2021-01-26 13:31:19 +00:00
riastradh cba96d16f7 Various entropy integration improvements.
- New /etc/security check for entropy in daily security report.

- New /etc/rc.d/entropy script runs (after random_seed and rndctl) to
  check for entropy at boot -- in rc.conf, you can:

  . set `entropy=check' to halt multiuser boot and enter single-user
    mode if not enough entropy

  . set `entropy=wait' to make multiuser boot wait until enough entropy

  Default is to always boot without waiting -- and rely on other
  channels like security report to alert the operator if there's a
  problem.

- New man page entropy(7) discussing the higher-level concepts and
  system integration with cross-references.

- New paragraph in afterboot(8) about entropy citing entropy(7) for
  more details.

This change addresses many of the issues discussed in security/55659.
This is a first draft; happy to take improvements to the man pages and
scripted messages to improve clarity.

I considered changing motd to include an entropy warning with a
reference to the entropy(7) man page, but it's a little trickier:
- Not sure it's appropriate for all users to see at login rather than
  users who have power to affect the entropy estimate (maybe it is,
  just haven't decided).
- We only have a mechanism for changing once at boot; the message would
  remain until next boot even if an operator adds enough entropy.
- The mechanism isn't really conducive to making a message appear
  conditionally from boot to boot.
2021-01-10 23:24:25 +00:00
martin 5dd83105b3 Adjust to "pool" usage in our standard ntp.conf, pointed out
by Connor McLaughlan.
2020-12-25 13:42:02 +00:00
kim 063923df4b network: Update rtsol options
- Use "-6" instead of "--noipv4" as it seems more appropriate based on
  the dhcpcd(8) manual page.
- Remove "-f /dev/null" as it seems unnecessary with "-6".
- Remove "--persistent" as it is in the default /etc/dhcpcd.conf,
  and this way the user can change it, if they would like to (either
  through dhcpcd_flags or by editing /etc/dhcpcd.conf).

The "-b" (or "--background") option is needed to avoid a timeout error
message (and a delay in booting), so it is still left in place.
2020-10-16 15:31:04 +00:00
kim f5010e6cd4 Update "rtsol" keyword: leave IPv6 autoconf on
There is no need to turn off ipv6_autoconf or dhcp6 in dhcpcd to match
the previous behaviour with in-kernel RA processing.
2020-10-15 07:05:27 +00:00
kim 2f25d90010 Make "rtsol" functional again. 2020-10-11 22:38:48 +00:00
kim 390227bdf6 Make a ": " suffix a fixed part of the release info tag
This results in correct updates to /etc/motd even when the value of
motd_release_tag is changed (a likely event).

Add safe quoting to outputting the read kernel version.

Thanks to kre@ for the feedback.
2020-09-11 12:50:14 +00:00
kim 6f0846e992 Add optional release info in /etc/motd
My personal preferencese for /etc/rc.conf:

    update_motd_release=YES
    motd_release_tag='Binaries: '

This provides an explanation to users about the second version in motd.
2020-09-11 09:59:35 +00:00
martin 8782d54f6b Sort - no functional change 2020-09-08 12:54:36 +00:00
martin 0a9098d00f Rename MOUNTCRITLOCAL to CRITLOCALMOUNTED to avoid a name collision
on case insensitive file systems
2020-09-08 12:52:18 +00:00
martin 2647485e8b Make it work with empty /var 2020-09-08 12:45:03 +00:00
martin 31fc9817bb Split the local disk availability step into two phases to allow scripts
that pre-populate parts of the system (e.g. a tmpfs based /var) an
easy place to plug in like:

# REQUIRE: mountcritlocal
# BEFORE: MOUNTCRITLOCAL

This also cleans up the existing special handling a bit by separating it
into new scripts. All later scripts now depend on MOUNTCRITLOCAL.
Discussed on tech-userlevel some time ago.
2020-07-22 16:50:41 +00:00
skrll 08ffba536b Trailing whitespace 2020-07-04 06:24:53 +00:00
roy b05648aa26 Remove in-kernel handling of Router Advertisements
This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).
2020-06-12 11:04:44 +00:00
christos 252a722447 Add support for npfd_flags 2020-06-05 17:10:44 +00:00
roy cfd6163780 dhcpcd: Empty the chroot
While here, set correct optional hooks.
2020-05-31 12:58:09 +00:00
jmcneill 2f6b9e52f7 Support resizing wedges 2020-05-24 14:43:19 +00:00
riastradh c4e3864f67 If no random seed file exists on boot, create one.
rndctl -S triggers entropy consolidation, so whatever we gathered
during kernel startup -- interrupt timings, autoconf timings, &c. --
will be incorporated into the seed and into subsequent data read from
/dev/urandom, just like if rndctl -L had run at this boot, and the
seed will carry them into the next boot too.

But it still avoids frequently consolidating entropy on any regular
schedule, in order to continue to mitigate iterative-guessing
attacks.
2020-05-07 20:01:04 +00:00
riastradh 417c0880bd Omit needless verbiage in error message. 2020-05-07 20:00:38 +00:00
riastradh 2569c9df63 Pass full pathname to df, and print warning message on failure.
No need to extract dirname; `df -P /var/db/entropy-file' and `df -l
/var/db/entropy-file' work just fine.
2020-05-07 18:15:29 +00:00
riastradh 1e65f60a58 Tweak logic to decide whether a medium is safe for an rndseed.
- Teach rndctl to load the seed, but treat it as zero entropy, if the
  medium is read-only or if the update fails.

- Teach rndctl to accept `-i' flag instructing it to ignore the
  entropy estimate in the seed.

- Teach /etc/rc.d/random_seed to:
  (a) assume nonlocal file systems are unsafe, and use -i, but
  (b) assume / is safe, even if it is nonlocal.
  If the medium is nonwritable, leave it to rndctl to detect that.
  (Could use statvfs and check for ST_LOCAL in rndctl, I guess, but I
  already implemented it this way.)

Treating nonlocal / as safe is a compromise: it's up to the operator
to secure the network for (e.g.) nfs mounts, but that's true whether
we're talking entropy or not -- if the adversary has access to the
network that you've mounted / from, they can do a lot more damage
anyway; this reduces warning fatigue for diskless systems, e.g. test
racks.
2020-05-06 18:49:26 +00:00
riastradh 9062e0fce1 Don't delete the random seed before issuing `rndctl -S'.
`rndctl -S' can replace the file just fine, and deleting it ahead of
time adds a window during which we can lose the seed altogether if
the system is interrupted by a crash or power outage.

XXX pullup
2020-05-01 15:52:38 +00:00
kim aae8c85b3e Add an "rtsol" keyword to ifconfig.if for enabling IPv6 RS/RA 2020-04-15 20:31:57 +00:00
roy 852a3f7b05 Add chroot support for dhcpcd 2020-04-02 12:58:49 +00:00
roy 5abb0d8844 mountall: Mount ZFS filesystems before fstab
This allows null mounts in fstab to reference fstab mounts.
It's highly unlikely ZFS mounts would reference anything outside of ZFS.
2020-03-01 15:22:55 +00:00
riastradh 88079b1878 If zfs=YES, unconditioally do zfs mount/unmount -a.
If you set zfs=YES, presumably you positively want the automatic rc.d
actions, so if there's no /sbin/zfs or if zfs can't find pools with
/etc/zfs/zpool.cache, presumably you would like feedback about that
in rc.log.
2020-02-23 08:53:25 +00:00