Commit Briefs




Thomas Adam

gotd.conf: treat repositories without any parameters as a syntax error

Because gotd expects some parameters to be present they must not be optional at the syntax level.



Thomas Adam

fmt


Thomas Adam

adjust the first gotwebd.8 httpd.conf example to work out of the box

gotwebd defaults to listening on a unix socket, and this man page aims to provide an appropriate configuration snippet in EXAMPLES. suggested by Paul Wrankin via gameoftrees IRC


Thomas Adam

fix previous; name must be initialized

otherwise if binaryfilename fails to match the line, `name' may be left pointing to free'd memory.


Thomas Adam

got patch: handle the removal of binary files

Diffs that remove binary files don't have hunks so got patch would skip over them, treating that part of the diff as "noise". Different programs outputs a slightly different diff for this kind of patches, but the "Binary files ... and /dev/null differ" is usually shown, so try to match it. The adedd regress test covers got diff, git diff, and OpenBSD' /usr/bin/diff. CVS diffs will currently fail because the guessed file name will be wrong. CVS prints the file name in the Index and RCS lines which got patch currently ignores, and shows an useless path in the "Binary files /tmp/cvs... and /dev/null differ" line. Discussed with and ok stsp@


Thomas Adam

gotwebd: print commit message too in gotweb_render_commits

Regression from 156a1144 spotted by stsp, thanks!


Thomas Adam

gotwebd is a Web daemon



Thomas Adam

enforce a per-uid connection limit in the gotd listen process

For now the limit is set at compile-time. It will become configurable via gotd.conf soon. ok op@


Thomas Adam

gotwebd: drop redundant NULL check

qs is guaranteed to be not NULL reached that point.


Thomas Adam

gotwebd: remove useless comment

should be placed further down, after BLOB and RSS are handled, but the call to `gotweb_render_header' is successfully clear on its own.


Thomas Adam

fmt



Thomas Adam

convert gotd repo_read.c and repo_write.c to single-client

Because these processes are now started on demand per client connection there is no need to keep track of multiple clients anymore. Also, these processes can now exit when a disconnect event is received. ok op, jamsek


Thomas Adam

portable: gotwebd: use template

This updates -portable's gotwebd instance to make use of the new templating engine.


Thomas Adam

gotd: nix trailing whitespace and indentation fix

ok op@, stsp@


Thomas Adam

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


Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

run gotd authentication in a separate child process

ok op@


Thomas Adam

fork gotd repo_read/repo_write children on demand

ok op, jamsek