Commits
- Commit:
3448a19afa20edfa1069b2d793abcda5a9006565
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make gotd session process accept just one flush packet at a time
ok jamsek
- Commit:
0ff2c315fe0f2f0fe4a92cae73c8a4a9fd21a402
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
gotd: fix "bad packfile with zero objects" error while creating branches
Clients will send an empty pack file if they are only creating new
references and have no objects to upload. Make gotd handle this and
add a regression test which triggers the bug. Problem found by op@.
The new regression test caught an unrelated issue where the client
connection was left lingering after references had been updated,
which made 'got send' followed by 'got clone -l' fail with the
connection limit configured for the test suite (just one connection
is allowed at a time). Fix this as well.
ok op@
- Commit:
f9550d472ec2151070b5bef2bd3b950d9f8e7949
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix an issue where gotd fails to accept multiple have-lines from clients
ok op, jamsek
- Commit:
6da1c69cd7747c70dfbe29c9fb66fa03fa985459
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix an issue where multiple ref-updates are rejected by gotd
ok op@
- Commit:
00b3e9ae14f04a45f1ca7445bade6b41a6e8a1c5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
replace malloc+memcpy with strndup. no functional change intended
ok stsp@
- Commit:
eac23c306591c21ddaa23930159d302f668ae34c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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@
- Commit:
2fc51af0411e9e5ab6f12a7cdb303fabd86571d7
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
do not forget to initialize delta_cache_fd in the session process
- Commit:
ae7c1b785440d9b4e2289d935ca85725f45680f1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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@