Commit Briefs
portable: release 0.111 (tags/0.111)
In parse_ref_file, release lock when fstat fails
It's released in case of other errors. This seems to be an oversight. ok stsp@
Explicitly test S_ISREG in parse_ref_file
parse_ref_file previously detected directories in the refs directory by trying to read and checking for EISDIR. This doesn't work on NetBSD, and the S_ISREG should exclude other kinds of non-regular files. ok stsp@
portable: add a release script
This script automates the creation of the dist tarball, including verifying the tarball by unpacking and compiling it. Note that, the CHANGELOG should have been filled out already prior to running this script, so that it's included in the tarball; but that commit will need amending with the updated changes this script creates. Also assumes ed(1) is installed which is slightly more portable (and available) across different *nix systems, unlike sed(1)'s -i flag.
portable: fixup after merge
Fix the recent gotwebd changes to use common libexec helpers.
got-fetch-http: improve handling of HTTP chunked responses
Use a cursor inside the buffer to parse the reply and handle the chunking delimiters instead of memmove()'ing around memory all the time. Spotted after a report from Colin Percival on IRC (thank you!) about got-fetch-http hogging the CPU while cloning the FreeBSD src.git repository. While here also simplify the chunked/non-chunked distinction and teach http_read() how to directly copy the data to a FILE. tested also by Colin, ok stsp@
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.