Commits
- Commit:
e9f1a409ccc66a6fb79a3022695ca78ad26972ea
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
imsg_add() frees its msg argument on error; avoid double-free in error paths
- Commit:
b637eb2e40befbfc982edebcdd992ca0add5defc
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
apply time-based rate-limiting to got-fetch-pack download progress output
- 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:
35add24aa636945d591ac62534d3caf3e906621a
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
plug memory leaks in got-fetch-pack and got-send-pack
ok naddy
- Commit:
ea83355f0a329b34b741dffc0cd0542ed96afb9a
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
let 'got fetch' send all references to the server to avoid redundant downloads
Problem reported by naddy.
ok naddy
- 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:
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:
77d7d3bb1aabafae6c020c8a07a6e9f4f7885c9b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
de-duplicate a constant used by both 'got fetch' and 'got send'
Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value.
Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.
- Commit:
bd3d9e54cb422cb58d52b267c6a8afc3376842d2
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
move more code used by got-send-pack and got-fetch-pack to a common file
Move functions and data structures which implement Git protocol features
required for fetching and sending pack files to new files lib/gitproto.c
and lib/got_lib_gitproto.h.
This code was duplicated in got-fetch-pack and got-send-pack.
No functional change.
- Commit:
f024663dea0dea05a0d4c17d2314f38f73e85bc6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
move pkt code used by got-fetch-pack and got-send-pack to a common file
The Git protocol uses a simple packet framing format. The got-fetch-pack
and got-send-pack programs contained identical copies of functions to
support this format. Move related functions to new file lib/pkt.c and
link both programs against this common implementation.
No functional change.
- Commit:
8991a328535f89f3f2257269f5c2d3fcec8bda69
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a missing bounds-check in got-fetch-pack when parsing server response
The tokenize_refline() function could end up reading past the end of
the buffer if the refline is not terminated with whitespace or \0.
- Commit:
a90356f7c470563a35922c4cbb01824558dcf207
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent NULL deref in got-fetch-pack if server does not announce capabilities
The my_capabilities pointer may remain NULL. Check for NULL before use.
- Commit:
14d2b281dd2fafec8beebfca6b5911b0ff21d676
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix the error message shown when the server sends a bad ref line
Exposed by trying to run got clone -l against shithub.us over git://
found by abieber@
- Commit:
9ca26ac322eae778bdfe032617ce9f6af859bb7a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
style fix: avoid comparison of pointer variable against 0 in got-fetch-pack
- Commit:
98f64f14c3dc52ec6afc00acc53dc9f42399d363
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
work around spurious ACK responses from git servers in got-fetch-pack
The Git server can apparently send duplicate ACK responses even though we
do not enable the multi_ack capability. According to the Git protocol docs
the server should only send ACKs after receiving 'done' from the client if
multi_ack has been enabled.
However, a duplicate ACK response can be triggered by running 'got fetch -a'
in our fetch_update_tag test. This resulted in the following error:
got-fetch-pack: unknown side-band received from server
got: bad packet received
- Commit:
6059809a13b5d528052e38f84661039e6565f458
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use size_t for loop indices to avoid signedness warnings; by emaste@freebsd
Same change as 16aeacf7088d, for subdirectories other than lib/
- 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:
3168e5da215c7b442d231f40bfd61df067505d8b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
zap trailing tabs
- Commit:
81a12da58651e79380d81dea7020bf6af20bb28b
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
do not rely on <zlib.h> to pull in <unistd.h>
ok stsp
- Commit:
631179de38cd91f5e53311c37386314fa2504ccd
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
Fix missing block grouping.
ok tracey stsp
- Commit:
1d72a2a0ee2d5c4546c0471e054c0d81e407bc72
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
represent packfile hash as byte array in the privsep layer, not as object ID
- Commit:
dc671e91ec5fbde514e27ed3d9ce4c6a0459538c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
compute pack file's checksum during download and check it in got-fetch-pack
Compared to the previous version committed in 520a0c97 this code should
compute the checksum correctly for any amount of pack file data bytes
read from the socket at a time.
- Commit:
729743d1bc420980f12d403c1b116dc6c7153339
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
revert 520a0c97f8081e4531fc9c88cda705a92afbddaf for now due to possible bug