about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorKlemens Nanni <klemens@posteo.de>2021-06-29 03:21:42 +0200
committerJune McEnroe <june@causal.agency>2021-07-13 15:16:22 -0400
commit7793ca36bb5aadee1a6f5e2708ec2ff9917aba6b (patch)
treef055e292c4f7215f718975b362739ed8f893e73c /Makefile
parentSave invited channel for /join (diff)
downloadcatgirl-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 'Makefile')
0 files changed, 0 insertions, 0 deletions
Set title after reloadJune McEnroe 2020-08-15Set title on control commandsJune McEnroe If a control command starts a service, the title should be updated. 2020-08-15Add 126 to hardcoded stop exitsJune McEnroe > If a command is not found, the exit status shall be 127. If the > command name is found, but it is not an executable utility, the exit > status shall be 126. Applications that invoke utilities without using > the shell should use these exit status values to report similar errors. [1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_02 2020-08-15Remove EX_CONFIG from default stopexitsJune McEnroe I've used it for "remote" configuration which could change. 2020-08-15Avoid "control named pipe" phraseJune McEnroe 2020-08-15Check if pipe is writable in wrapperJune McEnroe 2020-08-15Parse config laterJune McEnroe This is just to keep the list of open file descriptors tidier, since parsing the config creates many pipes. 2020-08-15Only log signals other than SIGTERMJune McEnroe 2020-08-15Clarify restart interval in catsitd manualJune McEnroe 2020-08-15Fix resetting restart interval with explicit restartJune McEnroe 2020-08-15Add reset interval after which restart interval is resetJune McEnroe 2020-08-15Log when service name pattern doesn't matchJune McEnroe 2020-08-15Add FreeBSD rc scriptJune McEnroe I'm expecting to also have an OpenBSD rc script. 2020-08-15Call setproctitle with number of servicesJune McEnroe 2020-08-15Rename project to catsitJune McEnroe 2020-08-15Use only LOG_NOTICE and LOG_WARNINGJune McEnroe These are the two priorities that go to a normal place (/var/log/messages) by default. 2020-08-15Make log messages consistentJune McEnroe 2020-08-15Remove closelog callJune McEnroe It's unclear whether closelog is really safe to call in pre-exec context, so just trust that the log is opened with CLOEXEC. 2020-08-15Implement service statusJune McEnroe 2020-08-15Parse control commandsJune McEnroe 2020-08-15Read service pipesJune McEnroe Changed line reading functions to return const char * because modifying the strings by adding '\0' into them screws up the following call. 2020-08-15Implement non-blocking line-buffered readingJune McEnroe 2020-08-15Generate tags fileJune McEnroe 2020-08-15Just use CLOCK_MONOTONIC and clean up includesJune McEnroe CLOCK_MONOTONIC exists everywhere. 2020-08-15Reap childrenJune McEnroe 2020-08-14Implement serviceSignal, serviceStop, serviceRestartJune McEnroe 2020-08-14Reset restartInterval and restartDeadline on startJune McEnroe 2020-08-14Switch to timespec for timeoutsJune McEnroe Can be passed to ppoll(2) directly. 2020-08-14Implement serviceStartJune McEnroe 2020-08-14Flesh out Service structJune McEnroe 2020-08-14Build environment for servicesJune McEnroe 2020-08-14Implement spawntab parsingJune McEnroe 2020-08-14Open syslog, daemonize, write PIDJune McEnroe 2020-08-14Implement user and group lookupJune McEnroe 2020-08-14Add install targetJune McEnroe 2020-08-14Add spawnd skeletonJune McEnroe