Commit Briefs

Omar Polo

fmt


Mark Jamsek

gotd: nix trailing whitespace and indentation fix

ok op@, stsp@


Stefan Sperling

remove filesystem access via bind(2) from gotd auth process

op@ pointed out a problem in my initial patch where I forgot to call unveil(2) with a path before unveil(NULL, NULL). ok op, jamsek


Stefan Sperling

move "unix" pledge promise from gotd parent to auth process

The listen process now communicates the client UID/GID to the parent, and the auth process verifies this on behalf of the parent. This allows us to remove the "unix" pledge promise from the parent, removing parent access to syscalls such as listen() and accept() in the AF_UNIX domain. ok tracey@ op@


Stefan Sperling

fix gotd authentication timeout

The authentication timeout was accidentally overriden by the request timeout. Fix this and set both timeouts in the same place for clarity. ok op@


Stefan Sperling

run gotd authentication in a separate child process

ok op@


Stefan Sperling

fork gotd repo_read/repo_write children on demand

ok op, jamsek


Omar Polo

gotd: tweak error message if getpwnam fails

errno may not be set to something interesting so switch to fatalx, and simplify the error message (knowing the failed function, which is also wrong, doesn't buy much here.) ok jamsek


Stefan Sperling

switch gotd from chroot(2) to unveil(2)

In the future, gotd will fork+exec new processes for each client connection. Using unveil instead of chroot avoids having to start such processes as root. The -portable version could use chroot(2) where no equivalent to unveil(2) exists. A future component which starts new processes will be isolated as a separate process, which could run as root in the -portable version. ok op@


Stefan Sperling

add a gotd "listen" process which watches the unix socket

ok op@


Stefan Sperling

fix gotd startup without any -v options




Stefan Sperling

fix group membership check in gotd auth

ok op@


Stefan Sperling

implement per-repository read/write authorization rules in gotd

ok op@