Commit Briefs
CHANGES for 0.116 (tags/0.116)
add support for notifications to gotsysd and gotsys.conf
gotsys.conf now supports email and HTTP/JSON notifications ok op@
fix gotsysd behaviour when the anonymous user is removed from gotsys.conf
The gotsys-useradd process would run into a bogus error regarding an invalid user name "anonymous" instead of locking the anonymous user account as expected. Add test coverage.
rename test "large loose objects" to "large files"
We might have more large file test cases eventually. And the existing test involves packing the loose objects. So the former name was not ideal.
fix off-by-one during deltification in maximum stretch size calculation
Fix an off-by-one which causes invalid deltas to be written when common file sections exceed the maximum size which can be represented in a base-copy delta operation. This bug causes an invalid pack file to be written which neither gotadmin nor git will index successfully. Add a test which triggers the problem: got-index-pack: delta application result size mismatch: \ actual: 65536 expected: 16777216: bad delta ok op@
reset file position when reusing per-repository temporary files
When reusing a temporary file, do not forget to reset its file position to zero. Otherwise, opening multiple raw objects in a row can fail during delta application with an unexpected file size reported by stat(2). Problem reported by Aaron Lin Problem reproduced and fix verified with a repository provided by Aaron. I have unsuccessfully tried to write a regression test for this. ok op@
fix gotd reload when /etc/gotd-secrets.conf is used
When sending the configuration to the newly reloaded gotd process we must send the path to the secrets file if it is being used. Otherwise, the new process will die with "unexpected amount of data received in imsg" errors. Test coverage will be added later as part of some new gotsysd tests which I have in progress.
fix 'gotctl reload -s secrets' failing once gotd has failed to reload once
Reset reload secrets state on reload failure, such that the next reload attempt will not be rejected with an 'unexpected imsg' error.
forbid the '$' and '#' symbols in gotsys.conf reference names
These symbols are also part of configuration file syntax and should therefore be avoided.
introduce gotsys_ref_name_is_valid()
We need to enforce additional restrictions on reference names specified in gotsys.conf in order to prevent escaping to arbitrary gotd.conf syntax. Add test coverage.
remove hidden gotsys.conf draft text about a "publish" directive
This directive will not be implemented in the final design. Instead we will be adding authentication to gotwebd with associated config syntax.