Commit Briefs
gotwebd: start to implement the auth feature (gotwebd-auth)
rearranged the code a bit; let's use a bufferevent since we're not going to use imsg for this anyway. for now it just replies back with a dummy URL.
Plug some memory leaks in got-{send,fetch}-pack
my_capabilities was leaked in both got-send-pack and got-fetch-pack and needed freeing it in both. ok op@
reduce the send_response() timeout
For some reason this timeout was blocking long enough to make other waiting client connections time out. Reduce the amount of retries.
remove gotwebd-specific libexec helpers
gotwebd now uses the same set of libexec helpers as used by got and tog. ok op@
split gotwebd into a server process and a gotweb process
As before, the server process accepts incoming FCGI requests and runs in the web server's chroot. The gotweb process runs outside chroot. This allows for browsing repositories anywhere on the file system, saving disk space on servers and avoiding a repository eynchronization delay. The gotweb process runs libexec helpers installed in /usr/local. Installing static binaries in the chroot is no longer needed for gotwebd to function. This helps -portable. gotwebd now defaults to a new user account, _gotwebd, though the www user can still be used if desired. The gotwebd.conf repos_path directive is no longer relative to the chroot directory but is now an absolute path. Existing configs may need to be adjusted accordingly. ok op@