CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2026/07/19 19:26:11

Modified files:
        lib/libc/sys   : unveil.2 pledge.2 

Log message:
Document how unveil(2) permissions correspond to various pledge(2) promises.

unveil considers the operation that happens at namei(9) time, but pledge has a
deeper integration into subsystems, therefore pledge can be more precise.

This change is the result of various experiments. For example the "unix" promise
allows creating files when calling bind(2) on an AF_UNIX socket, we found
requiring the "cpath" promise along with "unix" either required extensive
changes or made the promise set too broad. Similiar applies to connect(2) and
"wpath". Instead document that the unveil permissions "c", "w" and "r"
correspond to a larger set of pledge promises.

ok deraadt

Reply via email to