Commit Briefs


a631263a24 Thomas Adam

avoid double-close of gotd_reload_conf_fd



69af22426b Thomas Adam

portable: set next version


bf3185803e Thomas Adam

portable: release 0.110 (tags/0.110)


ac1a0b445e Thomas Adam

portable: macos: SOCK_CLOEXEC


bc18ef3a6d Thomas Adam

portable: define _PW_NAME_LEN

This portablu adds a definition for _PW_NAME_LEN if it's not found. Additionally, make socket options portable, and ensure gotctl is now buildable, as this has changed with respect to gotd, adding logging, etc.


11b08149fc Thomas Adam

Xr gotctl and document SIGHUP issue


b148e63d1f Thomas Adam

implement reload support in gotd, triggered via gotctl reload

Reload must be triggered via 'gotctl reload' rather than SIGHUP because once gotd has dropped root privileges the gotd-secrets.conf file becomes permanently inaccessible. When SIGHUP is received gotd now logs a message which points the user at 'gotctl reload'.


cd1db57e49 Thomas Adam

set close-on-exec flag on client connections in gotd parent process

Ensures that existing clients will be properly disconnected once the gotd reload feature is introduced.


edca7a667d Thomas Adam

remove closefrom() in gotd when gotsys is run

closefrom doesn't have the desired effect as it may affect unrelated open files in the parent process. The right way to deal with this seems to be setting the close-on-exec flag on file descriptors instead.






e49ea032f8 Thomas Adam

send request timeout to session_read so it no longer needs to read gotd.conf

Also stop reading gotd.conf in repo_read, which is a trivial no-op.



b11b05b7ee Thomas Adam

remove duplicate break statement


2880100ab9 Thomas Adam

send notification targets to notify process

This removes the need for the notify process to read gotd.conf, ensuring consistent run-time behaviour when gotd.conf is edited while gotd is running.


8b10295ec9 Thomas Adam

send notification configuration to the gotd session_write process

This allows the session_write process to work without reading gotd.conf. Again, we gain consistent run-time behaviour since changes to the notification configuration in gotd.conf will not take effect until gotd is restarted. However, the notify proccess still needs the same fix.



a88930cc79 Thomas Adam

small tweak to the output of gotctl info for clarity


1ca965ba4c Thomas Adam

keep disconnecting gotd clients when important child processes exit

This should fix a regression introduced in commit dda4473541d84973dd43a16f2f79ff0ce5f93dfe (make gotd run 'gotsys check' on gotsys.conf commits before accepting them), where I removed a call to the disconnect() function in proc_done(). We have now observed stale client sessions accumulating on got.gameoftrees.org, blocking new connections from anonymous users. This commit fixes the most likely reason for that issue.


fa94c02250 Thomas Adam

in gotctl info, display the time when a client connection was created

Also ensure that the repository name will always be displayed. Once the repo/session processes had exited the repository name was no longer available. Cache it in the client data structure to avoid losing it.