Commit Briefs

a86933943e Thomas Adam

potential fix for use-after-free in lib/repository.c's match_packed_object() (portable)

In a gotwebd core file on got.gameoftrees.org this loop crashed with a pe pointer which had already been freed. The retries counter was still zero, which means we passed the timestamp check when the loop iteration began. Then after a call to got_object_get_type() the pack index list had been recreated, rendering the pe pointer invalid. The code crashed when RB_FOREACH tried to run the next iteration using this bad pointer. The avoid this issue, move the timestamp check right below the call to got_object_get_type(). This way, the 'goto retry' should take effect earlier and restart the entire loop with a fresh 'pe' instead of crashing.


a0c933e86a Thomas Adam

portable: gotd: SOCK_CLOEXEC


4a37f3b9d8 Thomas Adam

portable: make repository_init portable

Add standard header file, etc.


788934886b Thomas Adam

portable: gotd: reenable enter_chroot()

Add back enter_chroot()'s definition.


8448ae5097 Thomas Adam

remove another gotd/gotsysd todo item that's done



ff024a6cc5 Thomas Adam

make gotd run 'gotsys check' on gotsys.conf commits before accepting them

For now this check is quite strict. Any commit which does not make a change to gotsys.conf will be rejected. If users want to keep other files in the gotsys.git repo we'll need to relax these checks a little.


ca70286a2e Thomas Adam

teach 'gotsys check' to read from standard input

Reading the config from stdin will be used by upcoming changes to gotd. 'gotsys check' usage changes, a -f option is now required for passing a filename. And -f was already in the getopt string, left over from an earlier draft of this code.




10c32c861b Thomas Adam

KNF tweak in repo_write.c


04e301e223 Thomas Adam

make got clone/fetch work against Git servers which do not speak English

When Git servers run in a non-English locale they might emit non-ASCII progress messages such as "Objekte aufzählen: 35, fertig." Stop treating such messages as fatal errors. Just ignore them to allow cloning and fetching from such servers to work. Problem reported by Lucas de Sena, thanks!





46c60edc4a Thomas Adam

remove another gotsysd todo item which is done



719393d741 Thomas Adam

move gotsys_conf_validate_name() out of gotsys_conf_new_group()

for consistency with gotsys_conf_new_user()


68538c7fd5 Thomas Adam

move gotsys_conf_validate_name() out of gotsys_conf_new_user()

No functional change. Needed for future handling of the special "anonymous" account.


fd4d6aa1d1 Thomas Adam

introduce gotsys-sshdconfig to rewrite /etc/ssh/sshd_config and restart sshd

A gotsysd-managed system relies on sshd for network transport. We need to let gotsysd take over the configuration of sshd to tweak a few settings: Enable password-less login for the anonymous user, Disable all forwarding. Restrict pty allocation to users in the wheel group since we expect nobody else to be logging in via ssh for remote access.


73bc518a47 Thomas Adam

remove a gotd/gotsysd todo item that is done



a686f80b6d Thomas Adam

split up gotd.c session_read and session_write main function switch cases

No functional change. This just makes the code a bit easier to follow.