Commit Briefs
fork gotd repo_read/repo_write children on demand
ok op, jamsek
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
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
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@
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@
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.
gotwebd: add an RSS feed for the tags
ok tracey@
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@
add a gotd regression test which requests a non-existent commit
Patch by Mikhail
gotwebd: templateify gotweb_render_commits
ok tracey@
gotwebd: templateify gotweb_render_navs
ok tracey@
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@
gotwebd: start using the template system
ok tracey@
import template
ok tracey@
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@
in gotd regress, use USER instead of USERNAME and check for sudo/doas users
Problem where USERNAME is not usually set on OpenBSD reported by Mikhail ok jamsek