diff options
author | Klemens Nanni <klemens@posteo.de> | 2021-06-29 03:21:42 +0200 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-07-13 15:16:22 -0400 |
commit | 7793ca36bb5aadee1a6f5e2708ec2ff9917aba6b (patch) | |
tree | f055e292c4f7215f718975b362739ed8f893e73c /url.c | |
parent | Save invited channel for /join (diff) | |
download | catgirl-7793ca36bb5aadee1a6f5e2708ec2ff9917aba6b.tar.gz catgirl-7793ca36bb5aadee1a6f5e2708ec2ff9917aba6b.zip |
OpenBSD: unveil logs regardless of restrict mode
Simplify logic and decouple the two features such that the code gets even more self-ducumenting. Previously `catgirl -R -l' would never unveil and therefore "proc exec" could execute arbitrary paths without "rpath" as is usual unveil/pledge semantic. Now that `catgirl -l' alone triggers unveil(2), previous "proc exec" alone is not enough since the first unveil() hides everything else from filesystem; unveil all of root executable-only in order to restore non-restrict mode's visibility. This leaves yields distinct cases wrt. filesystem visibility (hoisted save file functionality excluded): 1. restrict on, log off: no access 2. restrict on, log on : logdir write/create 3. restrict off, log off: all exec-only 4. restrict off, log on : logdir write/create, all else exec-only In the first case `unveil("/", "")' could be used but with no benefit as the later lack of "rpath wpath cpath", i.e. filesystem access is revoked entirely by pledge alone already. Practically, this does not change functionality but improves correctness and readability.
Diffstat (limited to 'url.c')
0 files changed, 0 insertions, 0 deletions