Use unveil(2)
authorkn <kn@openbsd.org>
Thu, 11 Mar 2021 18:12:41 +0000 (18:12 +0000)
committerkn <kn@openbsd.org>
Thu, 11 Mar 2021 18:12:41 +0000 (18:12 +0000)
commit2ecd7ab272f0c2b4cac9dc5cd9ee62f2a798370e
tree36237c33eeb2340ad4acbe580c570642d8075f96
parent1927d7790dff19472852783a67316f330febbddb
Use unveil(2)

Pledge is not possible due to the ioctls, but as apmd hoists both the
control socket and apm device early at startup and only ever possibly
executes scripts under /etc/apm/, hiding the rest of the filesystem
becomes easy.

Technically, only "x" is required to traverse the directory and run
scripts, but apmd carefully access(2) each script, which requires
the read bit regardless of the permission bits being tested.

OK mestre
usr.sbin/apmd/apmd.c