Commits
- Commit:
7d0d49208626da2cfa2ffe4001e2f6123ede40be
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
run the search for deltas to reuse in got-read-pack
This significantly speeds up the deltification step of packing by
avoiding imsg traffic. gotadmin no longer requests individual raw
deltas from got-read-pack to check whether it can reuse them.
Instead, got-read-pack obtains a list of objects we want to pack,
and hands back the list of all deltas in its pack file which can be
reused. Messages are now batched such that imsg buffers are filled
as much as possible.
Another advantage is that deltas we are not going to reuse will
no longer be written to the delta cache file, saving disk space.
Before this patch, any raw delta candidate was written to the
delta cache file by got-read-pack, and the decision whether to
reuse the delta happened afterwards in the gotadmin process.
Code for reading individual raw deltas is now unused and could be
removed at some point.
ok op@
- Commit:
9249e7e337edcfd344dc416d11ad4274c90a02f5
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
store deltas in compressed form while packing, both in memory and cache file
This reduces memory and disk space consumption during packing.
with tweaks + memleak on error fix from op@
ok op@
- Commit:
ec242592d329728975bf10a1196907167de7fed0
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list.
ok op@
- Commit:
f9c2e8e5d5310b6b1cd22dcfc8f9f5d1d7a16d19
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
- Commit:
97799ccd4b67a81f97039305d4fdd66588da9962
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add support for landlock
landlock is a new set of linux APIs that is conceptually similar to
unveil(2): the idea is to restrict what a process can do on a
specified part of the filesystem. There are some differences in the
behaviour: the major one being that the landlock ruleset is inherited
across execve(2).
This just restricts the libexec helpers by completely revoking ANY
filesystem access; after all they are the biggest attack surface. got
send/fetch/clone *may* end up spawning ssh(1), so at the moment is not
possible to landlock the main process.
From Omar Polo.
- Commit:
bc1f382f7aba640a7b6949938af27d41c1cabacf
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid the creation of new temporary files whenever a packed object is read
This speeds up the creation of pack files by about 30%.
- Commit:
48b4f239031ad66225f64bd6745f4a57a35c3a0f
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
wrap overlong lines
- Commit:
01bb5a15144ece7ca707994fb56e1847c76a1a92
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
fix some integers that had a slightly wrong type; patch by Omar Polo
- Commit:
8f1c06eb7569f957aec944ee5130e28e0cf7c2bd
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
add 'static' qualifier to local functions in got-read-pack; patch by Omar Polo
- Commit:
92a9e85d28a30997176ce0d3c2915e3ea70782c7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add FreeBSD support
This adds the capability to compile got-portable on FreeBSD.
- Commit:
dd038bc6ec835ad3fd3c0b5303b8af9ad506c8cc
- From:
- Thomas Adam <thomas@xteddy.org>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
portable: initial Linux compilation
This commit modifies the GoT main branch to be able to compile it under
linux.
- Commit:
c3564dfafd6bf9ca36c049cf02a1432ce3e66c3f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
don't scan pack index offsets for large values if pack file is < 2GB
This saves an iteration over the entire h->offsets array when opening
a pack index which should not contain large offsets in the first place.
ok millert@
- Commit:
dbdddfee1482b50ca8c4a0be06e4fec6a59fb9f4
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
switch from SIMPLEQ to equivalent STAILQ macros
The singly-linked tail queue macros were added to OpenBSD 6.9 and
are more widely available on other systems.
ok stsp
- Commit:
40e3cb72953003915373ea79578a46eb01238c15
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix raw object size sent by got-read-pack
- Commit:
59d1e4a0a9c19debc27746357d97084b59a76db8
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
implement raw object data access; this will be required for packing
- Commit:
08578a35f60be8657db97b705f27a55ab61850c8
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make close(2) failure checks consistent; check 'close() == -1' everywhere
ok millert, naddy
- Commit:
56b63ca4ab1049de6fa2d6910ce22c16e2b42a53
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
- Commit:
62d463cac1fd99c423acb07c0367c649724a2a9a
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
indentation fixes
- Commit:
23c57b285fdcf9a8a0a5913ea096232038bf0ac3
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
Stop including <sys/syslimits.h> directly.
POSIX says the limits defined there are available from <limits.h>,
which almost all affected source files already included anyway.
ok millert stsp
- Commit:
81a12da58651e79380d81dea7020bf6af20bb28b
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
do not rely on <zlib.h> to pull in <unistd.h>
ok stsp
- Commit:
0092798358749bb760eb91ae3c53bcaa5d782907
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove got_packidx_get_object_idx_sha1(); it is not actually needed
- Commit:
ded8fbb852004c3af2b31b1286f4fcfb50b998ba
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
include the relevant object ID in NO_OBJ error messages where possible
- Commit:
e70bf110de343a3c1fc422b6682f56853686772f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
move functions from privsep.c to the helpers which use them where possible
- Commit:
61a7d79fef51b4bf48411fcd4542401f10acc626
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove GOT_ERR_NOT_ABSPATH and fix existing users to deal with absolute paths
- Commit:
63f810e6fee43e699585195a24eebdb53a99a4f4
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
when "bad path" errors occur, always show the path in question