HomeFreeBSD

MFS jail: avoid a clash with /etc/jail.conf.d between rc and jail(8)

Description

MFS jail: avoid a clash with /etc/jail.conf.d between rc and jail(8)

Since 13.1, /etc/rc.d/jail has looked for a per-jail config file in
/etc/jail.conf.d. For RELENG 14, the ".include" directive was added to
jail(8), with a sample line in the jail.conf(5) man page that includes
"/etc/jail.conf.d/*.conf".

These two use cases don't work together. When the jail.conf.d files
are included from a master jail.conf, the files in jail.conf.d are
likely to hold only partial configurations, and shouldn't be directly
loaded by rc.d/jail. But there are existing configurations that depend
on the current rc.d behavior. While users could be advised not to
include from /etc/jail.conf.d, it's the natural choice even if not
mentioned in jail.conf.5.

The workaround is for rc.d/jail to continue to load the individual
files, but only when /etc/jail.conf doesn't include from that
directory (via a simple grep test), This allows the current use
while not breaking the previous use.

Approved by: re (gjb)
Reported by: antranigv at freebsd.am
Differential Revision: https://reviews.freebsd.org/D41962

(cherry picked from commit a2440348eed75bb7682579af0905b652747fd016)
(cherry picked from commit c96d5c97bb65a1b0bc135b452f13d0ca6a8d60c9)

Details

Provenance
jamieAuthored on Sep 25 2023, 12:03 AM
Differential Revision
D41962: Avoid a clash between uses of /etc/jail.conf.d
Parents
rG857ce53d1d46: copy_file_range: require CAP_SEEK capability
Branches
Unknown
Tags
Unknown