Commit Briefs

6110f5ef4a Thomas Adam

fix an issue where gotd fails to accept multiple have-lines from clients

ok op, jamsek


0445d8ec48 Thomas Adam

fix an issue where multiple ref-updates are rejected by gotd

ok op@


fcbb06bf69 Thomas Adam

replace malloc+memcpy with strndup. no functional change intended

ok stsp@


7b1db75e88 Thomas Adam

update client state tracking in the gotd parent process

The session process takes over the old state definitions under a new name ("session state"). The parent only needs to keep track of whether a client has been granted access, so it only uses two states: NEW, and ACCCESS_GRANTED which is set as soon as the auth process has granted repository access and before the session and repo_read/repo_write children are started. Because 'gotctl info' can no longer observe the session state remove support code for printing it. ok op@



62ee7d9474 Thomas Adam

add a gotd session process, split off from the parent process

The new session process is able to manipulate files in the repository and keeps track of the read/write client session state. The parent process now restricts its view of the filesystem to the absolute path stored in argv[0], and combines this with unveil "x" on this path. As a result the parent process can only re-exec itself. small tweaks + ok op@