Commit Briefs

9aeaf23a7e Omar Polo

gotsh: validate with parse_command before connecting

Export parse_command (now got_serve_parse_command) from lib/serve.c and use it to validate the command line in gotsh instead of just checking that the -c argument starts with 'git-receive-pack' or 'git-upload-pack'. Invalid usage now always fails before opening the socket, while before it wasn't always the case. This also means that invalid usage doesn't count towards the limits. ok jamsek, stsp


b5225f29d8 Omar Polo

gotd: disconnect on client EOF too

Otherwise gotd keeps the (client-closed) sockets around and may prevent new connections from being established since they still count for the limits. ok jamsek, stsp


c808f45090 Omar Polo

fmt; fold long line


65c2e81071 Omar Polo

gotwebd: avoid full history traversal in briefs/commits

This purposefully breaks the 'previous' button in the commits and briefs page. It's hard to find the parent of a commit since they can only be iterated forward. The way the previous button was generated was to walk the history from the HEAD down to the specified commit. This is costly but more importantly leads to issue when dealing with paths that were deleted from the repository. Discussed with stsp and tracey, ok jamsek.


aa31714b5b Omar Polo

gotwebd: don't got_ref_list per-commit in got_get_repo_commits

It's wasteful since `refs' is already populated before the loop, and released after. It also leaks the content of `refs' the first time the loop is entered. ok jamsek


cb93ab4065 Omar Polo

gotwebd: turn gotweb_get_time_str into gotweb_render_age

ok jamsek


6cdf29f935 Omar Polo

gotwebd: refactor gotweb_render_content_type/_file

Rework them so that they allow to set the Status header (the HTTP status code; only way since we're behind FastCGI) and optionally a Location. Since they're now unused outside of gotweb.c, mark them as static. They also used to always return NULL so the error is pointless; return the -1 on failure though. While here, rename to gotweb_reply and gotweb_reply_file. ok jamsek


96afb0d623 Stefan Sperling

make read errors in gotsh serve_read() fatal and adjust tests accordingly

ok jamsek


695bc1eccc Stefan Sperling

return GOT_ERR_EOF from pkt.c if a read attempt indicates EOF

ok jamsek


f91b5c433d Stefan Sperling

only "forward" implicit flush packets in serve_read() if they are expected

ok jamsek


3448a19afa Stefan Sperling

make gotd session process accept just one flush packet at a time

ok jamsek


7713cc5e4f Omar Polo

sort ENVIRONMENT entries in got.1 and tog.1

ok jamsek


8fcd5cccdc Omar Polo

gotwebd.8: sort -d after -D

patch by Josiah Frentsos, thanks!


b3bed212b3 Omar Polo

gotd.8, gotwebd.8: new sentence, new line

diff from Josiah Frentsos, thanks!


eca2b1d0d6 Stefan Sperling

add missing bounds-check in gitproto ref-line tokenizer


00d10bca0a Mark Jamsek

fix typo: overlapping comparison always evaluates false

ok stsp@


cbb2185c68 Stefan Sperling

bump version number


a5ddf5e0eb Stefan Sperling

changes for 0.81 (tags/0.81)



a164ea7011 Stefan Sperling

fix ambiguous phrasing of -d option documentation


e9e01966df Stefan Sperling

document the gotd -n option


0ff2c315fe Stefan Sperling

gotd: fix "bad packfile with zero objects" error while creating branches

Clients will send an empty pack file if they are only creating new references and have no objects to upload. Make gotd handle this and add a regression test which triggers the bug. Problem found by op@. The new regression test caught an unrelated issue where the client connection was left lingering after references had been updated, which made 'got send' followed by 'got clone -l' fail with the connection limit configured for the test suite (just one connection is allowed at a time). Fix this as well. ok op@


fecfd5bc4d Stefan Sperling

fix spurious "gotsh: unexpected flush packet" error when client is up-to-date

ok op@


05594ba5c5 Christian Weisgerber

regress: replace typeset with printf for shell portability

The typeset shell builtin is a ksh(1) feature. It is not available in a pure POSIX sh(1). Use printf(1) to portably perform the same string truncation. tweak and ok op jamsek


f9550d472e Stefan Sperling

fix an issue where gotd fails to accept multiple have-lines from clients

ok op, jamsek