Commit Briefs

19a06f5a74 Stefan Sperling

CHANGES for 0.116 (tags/0.116)


3a34ebda2e Stefan Sperling

sync dist file list




7da96131eb Stefan Sperling

use a better idiom to find a NUL-terminator; from op@


4f3d4d3a79 Stefan Sperling

add missing casts to ctype function arguments in gotsys parse.y

spotted by op@


8b4b261f28 Stefan Sperling

add support for notifications to gotsysd and gotsys.conf

gotsys.conf now supports email and HTTP/JSON notifications ok op@


41fda6f0f9 Stefan Sperling

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.



cf66e481a7 Stefan Sperling

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.


459c522ff2 Stefan Sperling

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@


5bbc921fd6 Stefan Sperling

show expected and actual sizes when delta application fails

ok op@


fc3816d117 Stefan Sperling

avoid clobbering earlier errors in got_delta_apply and got_delta_apply_in_mem

ok op@


ae784b42e0 Stefan Sperling

fix more missing resets of file position to zero after truncating files

ok op@


590e374631 Stefan Sperling

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@



c506644a01 Stefan Sperling

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.


c63cd1cb97 Stefan Sperling

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.


82e9b6ff0a Stefan Sperling

forbid the '$' and '#' symbols in gotsys.conf reference names

These symbols are also part of configuration file syntax and should therefore be avoided.


ce39a4c074 Stefan Sperling

update gotwebd favicons to show the smiley fish only




00fc2bb909 Stefan Sperling

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.


97b40d32ed Stefan Sperling

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.