Commit Briefs

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@


Omar Polo

gotd: Don't include stdlib.h twice



Stefan Sperling

use mkstemps(3) instead of mkstemp(3) for opening named temporary files

Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@


Omar Polo

gotd: propagate confpath to children as well

otherwise they end up running with default config which isn't ideal. ok stsp@


Stefan Sperling

add gotctl(8); initially supported commands are 'info' and 'stop'

This will be used by an upcoming regress test suite for gotd(8). ok tracey


Stefan Sperling

remove sendfd pledge promise from gotd repo_read process

Have the parent process send one end of the pipe directly to gotsh(1), such that repo_write can run without "sendfd". Combining "sendfd" and "recvfd" in the same process is frowned upon. ok tracey


Stefan Sperling

remove sendfd pledge promise from gotd repo_write process

Have the parent process send one end of the pipe directly to gotsh(1), such that repo_write can run without "sendfd". Combining "sendfd" and "recvfd" in the same process is frowned upon. ok tracey