Commit Briefs

dad80d9b37 Omar Polo

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.


4ac134683f Omar Polo

gotsh: fix usage



e39d79e3c6 Stefan Sperling

implement gotsh weblogin command


7131385900 Kyle Ackerman

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@




cab13f2dcc Stefan Sperling

free gotweb.c iev_server on shutdown




2bca46599e Stefan Sperling

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.




a51f669c12 Stefan Sperling

log fcgi requests which have timed out




96aa828c56 Stefan Sperling

fix previous commit (build breakage)


a8ae7cb134 Stefan Sperling

do not send fcgi end record trailer to broken connections


49048dfff7 Stefan Sperling

fix error handling in fcgi_forward_response()





f624e3f7a3 Stefan Sperling

fix format string specifier for c->request_id


a07ec64aa1 Stefan Sperling

remove gotwebd-specific libexec helpers

gotwebd now uses the same set of libexec helpers as used by got and tog. ok op@


b27be572b3 Stefan Sperling

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@