Commit Briefs

46ecc01f5b Thomas Adam

gotd: nix trailing whitespace and indentation fix

ok op@, stsp@


b942ab080a 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


0bcde4c8df 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@


95ef3f8a77 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@


c669c4892e Thomas Adam

run gotd authentication in a separate child process

ok op@


85b37c7219 Thomas Adam

fork gotd repo_read/repo_write children on demand

ok op, jamsek


3e7c54e139 Thomas Adam

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


45b9d1e910 Thomas Adam

tweaks to request_bad.sh; no functional change

in no specific order: - define the "aaa..." string as variable to avoid long lines (same for the 255 "A") - drop the comment about the "OpenBSD cmp(1) offset extension": it's quite popular actually. - consistently use "cmp foo.expected foo" instead of "cmp foo foo.expected". It makes easier to copy-paste it if we want to diff(1) the files. - diff files when cmp(1) fails if feasible (i.e. when we're not cmp(1) at offsets) - use printf when the string to print contains "\n" - add some missing blank lines between functions


d07291c6a1 Thomas Adam

tog: always echo input prompt to bottom left of screen

Irrespective of the active view, always echo to the bottom left of the parent view. ok op@


85fbc3608c Thomas Adam

tog: fix typo that breaks log search when in hsplit

Ironically, the typo "blocks" log search when in hsplit because we block input on the wrong view! Pass the proper "v" view to nodelay() calls. ok op@


581fa623ef Thomas Adam

add more gotd regression tests for bad requests; patch by Mikhail

And rename req_wrong_commit.sh to request_bad.sh to reflect the broader scope of this test script.


86f8a176f0 Thomas Adam

add missing full-stop; patch by Josiah Frentsos


d6795e9fa6 Thomas Adam

gotwebd: add an RSS feed for the tags

ok tracey@


3191e25687 Thomas Adam

gotwebd: use DOCUMENT_URI rather than SCRIPT_NAME

the latter is empty when serving from a directory-like path prefix with an httpd.conf(5) as per gotwebd(8). ok tracey@



5f607f3ca4 Thomas Adam

tweak naming in new gotd regress test for consistency


79f1ca7850 Thomas Adam

add a gotd regression test which requests a non-existent commit

Patch by Mikhail


96b8c570c9 Thomas Adam

template: adjust my address


7ade8b27a9 Thomas Adam

gotwebd: templateify gotweb_render_commits

ok tracey@


2f4f073124 Thomas Adam

gotwebd: templateify gotweb_render_navs

ok tracey@


3d6d1fb0b8 Thomas Adam

gotwebd: drop index_page_str and page_str

gotwebd uses sprintf to update index_page_str and page_str if they were negative. While this specific usage is safe, let's drop it. Since the index_page_str and page_str fields are never read from, remove them. This saves two allocations per request too. ok tracey@


8ea2e76efa Thomas Adam

gotwebd: fix broken navigation in commits page since 8d02314

ok tracey@


e7e5fa49fc Thomas Adam

gotwebd: start using the template system

ok tracey@


6509b1818d Thomas Adam

import template

ok tracey@


414e37cb37 Thomas Adam

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@