Commit Briefs
gotwebd: plug leak in get_addrs() error path
h is free'd by add_addr in case of error, but we still leak the getaddrinfo result. while here make the check strictier: addr_addr() fails with -1.
got-fetch-http: be pedantic with the error checking
these functions are expected to return -1 on failure, be strict about it.
bufio: crank BIO_CHUNK up to 64k
forgot it set to a low value when testing the resizing, the left way too low. prodded by stsp. ok stsp
fix wrong errno check in bufio_close_sync()
ok thomas_adam, op@
regress: make server tests more robust against race hazard
Add a delay after starting the server background process to keep server and client from racing against each other, which would lead to failures when the client ran before the server. ok op
fix Date header generated by got-notify-email
asctime_r() is not a source of valid date strings for email. Borrow code from OpenSMTPD instead for this purpose. Problem reported by naddy, who also found the smtpd code to use.
display abbreviated commit/tag IDs in email notification subject lines
This should make it somewhat easier to keep track of discussion threads when someone replies to a commit notification to discuss the changes.
fix empty notification messages with multiple gotd notification targets
When multiple notification targets are configured only the first target received notification message content. The subsequent targets would read EOF when trying to read the content. Fix this issue and add regression test coverage for it, exercising existing test code with a gotd.conf file which contains two notification targets.
don't leak the existence of gotd repositories to unrelated user accounts
In particular, this prevents anonymous user accounts from discovering the existence of other private repositories served by gotd by correctly guessing the name of a private repository. They still wouldn't have read or write access but in some cases even knowledge about the existence of a particular repository could be cause for concern. ok op@
in got.1 EXAMPLES, mention how files can be moved or renamed
based on an initial patch by Matthias Schmidt
show hint about update -b if the user attempts to rebase a branch onto itself
Specifically, when 'gut send' suggests 'fetch and rebase required', new users might try to use 'got fetch' directly followed by 'got rebase' without first updating the work tree to newly fetched commits. Got would then say "main is already based on main" without any hint for a way out. Hopefully, pointing users at the update -b command will make them search the manual for details.
abort if we see a sha2 hash.
it's incomplete and will lead to an overwrite. quiets a potential compiler warning.