jail: Implement read-only sysctl "jail.jailed"
authorAaron LI <aly@aaronly.me>
Mon, 17 Jun 2019 14:05:41 +0000 (22:05 +0800)
committerAaron LI <aly@aaronly.me>
Tue, 18 Jun 2019 01:49:23 +0000 (09:49 +0800)
commit4e558034a6febf3a5bba02db3c73eca402cd4d98
treee748d769cd6e50e6cd07fbbc946ffb15c8599a3a
parent536555aba12298470a11fd08ce255f3c62812162
jail: Implement read-only sysctl "jail.jailed"

Implement the read-only sysctl entry 'jail.jailed', which can be used to
determine if a process is running inside a jail (value is 1) or not
(value is 0).

NOTE: The current FreeBSD has such a sysctl entry called
'security.jail.jailed'.  However, DragonFly BSD doesn't not have any
'security.jail.*' but only 'jail.*' sysctl entries.

Meanwhile, update /etc/rc to use this new sysctl entry to better deal
with the rc scripts with the 'nojail' keyword.

Also document this sysctl entry in the jail.8 man page.

This commit is based mostly on FreeBSD as well as the patch in bug
report #118.

Reviewed-by: dillon, mjg (Mateusz Guzik)
Bug-report: #118
etc/rc
sys/kern/kern_jail.c
usr.sbin/jail/jail.8