Commits
- Commit:
bbca1adf04e40d91b98c326953a147a37b94c817
- From:
- Omar Polo <op@omarpolo.com>
- Date:
remove unneded wbuf->fd = -1
There's no need to set the fd to -1 on ibufs created with imsg_create(3),
and it was probably never needed.
- Commit:
2c52c623be04b56400a5c94cc8d86b6fda214d16
- From:
- Omar Polo <op@omarpolo.com>
- Date:
convert to use imsg_get_fd()
While here also fix a fd leak in got-read-pack. We were dup'ing
imsg.fd without closing imsg.fd later; instead just use imsg_get_fd()
to extract the file descriptor.
Tested by falsifian and Kyle Ackerman, thanks!
'go ahead' stsp@
- Commit:
9cbac887301ab85a09a6e123f9963b76f60514e1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix typo in gotd debug messages: receving -> receiving
- Commit:
cc88020e952af813c1e01b91ab6516969562e972
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix spurious empty packfile error from gotd when rewinding a branch
ok op@
- Commit:
9afa3de221045d529287cc3fa75fdc2915aed5c1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add support for protecting references against 'got send -f' to gotd
ok op@
- Commit:
88f6dccd4e18282613d4e03dab50c46ea4b2ccd7
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotd: remove more (all?) double process names in log
- Commit:
4f8a1204503f9e372f637e5d3ae5fbaa30b7ecdd
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Omar Polo <op@omarpolo.com>
- Date:
gotd: Fix more double process names
Patch by Josiah Frentsos, thanks!
- Commit:
ae25a666dd4099105786ef32f1e6ebaf92abe64d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add some helper functions to compute hashes
This adds a set of functions to abstract over SHA1Init, SHA1Update,
SHA1Final, their respective SHA256 variants and how to compare digests.
Replace all the SHA1*() usage with the new APIs. It's a preparatory
step for sha256 handling.
ok stsp@
- Commit:
53bf0b541977b66862040d4b633fb6b5d3a3c6c8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
rename lib/sha1.c to lib/hash.c
It will soon grow functions to deal with sha256 too. stsp@ agrees.
- Commit:
5822e79e39a8777984e08b5d89a8c55d6aa0356d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
include sha2.h too where sha1.h is included
In preparation for wide sha256 support; stsp@ agrees. Change done
mechanically with
find . -iname \*.[cy] -exec sam {} +
X ,x/<sha1\.h>/i/\n#include <sha2.h>
- Commit:
5458cb76da2e5c4d71fa0f50379368f77e5380b3
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove recv_disconnect() from repo_write.c; missed in previous commit
- Commit:
363c62309e9bd4bf1b461ff5eff94d977496d000
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
do not expect to see a DISCONNECT message in repo processes
The parent no longer sends this message. Perform related cleanup
in the shutdown path instead.
ok op@
- Commit:
e294dc4e38dcf1364451a3a7a3724a07a9e42048
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
typo and style(9): do not use function calls in initialisers.
ok stsp@
- Commit:
9a8e357c727600cb61ac6ec4c83259fa6d9a3081
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotd: implement the delete-refs capability
Allow clients to run "got send -d" against gotd. Clients will send a
zero-id as new id for a reference and, in the special but more common
case of just deleting and not updating, no pack file will be sent.
ok and tweaks by stsp@
- 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:
00b3e9ae14f04a45f1ca7445bade6b41a6e8a1c5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
replace malloc+memcpy with strndup. no functional change intended
ok stsp@
- Commit:
e26970ccc755b7327924d761d1772a1bc5a5bf01
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotd: delete trailing blanks spotted while re-reading
- 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@
- Commit:
1a52c9bfc78a8d9769fbe735203345492730e813
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
convert gotd repo_read.c and repo_write.c to single-client
Because these processes are now started on demand per client connection
there is no need to keep track of multiple clients anymore. Also, these
processes can now exit when a disconnect event is received.
ok op, jamsek
- Commit:
b50a2b4639132c68255480f1c5c8785fd7cd8094
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fork gotd repo_read/repo_write children on demand
ok op, jamsek
- Commit:
eec68231a79adb345b1a6a3194e5ddb353570356
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
switch gotd from chroot(2) to unveil(2)
In the future, gotd will fork+exec new processes for each client connection.
Using unveil instead of chroot avoids having to start such processes as root.
The -portable version could use chroot(2) where no equivalent to unveil(2)
exists. A future component which starts new processes will be isolated as
a separate process, which could run as root in the -portable version.
ok op@
- Commit:
8c6fc1468a57de4851e137b55bda5cd838e2f759
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
rename GOTD_SOCK_FILENO to GOTD_FILENO_MSG_PIPE for clarity (it's not a socket)
- Commit:
8193d041d9f06ea7e99fa60f48a738cea4991644
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix typo which caused a double-free in gotd repo_write_shutdown()
- Commit:
7fec5f4ad5baecf5bab9d872a925055270b2cf53
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove sendfd pledge promise from gotd repo_write process
Have the parent process send one end of the pipe directly to gotsh(1),
such that repo_write can run without "sendfd".
Combining "sendfd" and "recvfd" in the same process is frowned upon.
ok tracey
- Commit:
ad4cc36168576274131539e87b9007ef9b3c3725
- From:
- Omar Polo <op@omarpolo.com>
- Date:
convert got_pack' filesize to off_t; ok stsp@