Commits
- Commit:
4efc8dcb177f6c378c12a7d91f51e6ae4e80078b
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: gotd/gitwrapper: update for libs
Bring gotd and gitwrapper closer to how libraries are detected.
- Commit:
febe25b7cf7410d2a34c127b3981acd3b98edc2d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: gotd: listen
Include listen.c; make it portable.
- Commit:
c8b73ac1663c35b32c7f8ce4173765461b72f3fa
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotd flush pending messages before disconnecting the client upon success
This prevents gotd from closing the client connection before ref-update
status reports have been sent. Seen while testing gotd on Linux, though I
see no obvious reason why this race would not trigger on OpenBSD.
- Commit:
a6153ffb9ee91bb4fc544a98fae8d50cf2963841
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
gotd: stop logging "unexpected end of file" when a client decides to disconnect
- Commit:
7fed8fa426806e627fcf1e344e4ce134b17a0474
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
unveil repositories read-only in gotd session process while serving fetches
ok op@
- Commit:
8a9c582ba19796492dd5fa3415eccd70d406d7d4
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotd show relevant commit hashes in error message if ref-updates collide
- Commit:
169def413f9c30c59bd16b6ea8c65db2ccce4017
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotd avoid re-writing existing ref files when a ref-update is a no-op
- Commit:
8e92c55c71ddc358748f608f316cbc53b008f79f
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotd avoid a "failed to push some refs" error from no-op 'git push'
gotsh was sending errors such as "unexpected end of file" and
"unexpected flush-pkt" to the client when the client disconnected
immediately after receiving reference announcements from the server.
As a result, 'git push' with both sides up-to-date would show an
obscure error message:
= [up to date] main -> main
error: failed to push some refs to 'ssh://example.com/git/repo.git
Now we see:
= [up to date] main -> main
Everything up-to-date
ok jamsek
- Commit:
4fccd2fe0ffbbc668b66abe63614470635f92f1b
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure: split out dependencies
Rather than assume all dependencies are required for all programs, split
them out.
This will make packaging easier, as well as splitting the code to use
subprojects.
Note that due to the use of config.h semantics, in most cases the
got_compat.h header file is now at the top of the .c file it is included
in, so that it can handle the system header inclusion properly.
- Commit:
98670ba726486c39efff220ab1e074c62023aae7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: rework SHA detection
Simply the SHA detection by not predicating on libcrypto, but instead
checking individual header files.
- Commit:
4680f704353811c8bb6ce65eac3714d1bd200c26
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: remove sha1.h; found portably
Remove sha1.h as this is found portably across systems.
- Commit:
be288a59f42e0b5e203e2c5545bf3e042ff4b79f
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
rename lib/sha1.c to lib/hash.c
It will soon grow functions to deal with sha256 too. stsp@ agrees.
- Commit:
588a8092bc282294ee23585991e81586905a8fd4
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
5330ab762909f51f51f564f8b8af9eac9c8f4354
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
drop double process name from some gotd logs
i.e. "listen: listen: shutting down" -> "listen: shutting down"
the procname is already prepended by vlog()
ok jamsek
- Commit:
8cb46987fe75bb80841acf551340ae2587d35d4a
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
rename a function for clarity
- Commit:
d4628c48f397550f23bd780ae898625aacda2555
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
zap trailing whitespace
- Commit:
851a5b487c47bf2fb5deec019a049ee0aa7389ca
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
gotd, gotadmin: install packfiles and index files as 0444
gotd used 0600 (due to mkstemps(3)), gotadmin 0644; change it to 0444
since packfiles shouldn't change once created. Mirrors what git does.
ok stsp@
- Commit:
49563dfbdbb8d9325ae207c0b1400dc6939fef40
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
98c7fd82fde99a5be248c7268cd52d18bb9b9c4e
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotd session process accept just one flush packet at a time
ok jamsek
- Commit:
d98779cd32c7a981ee70a8e1cbcb7c544a6110b6
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
6110f5ef4a11d9157e87d91bb4adf07fda261265
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix an issue where gotd fails to accept multiple have-lines from clients
ok op, jamsek
- Commit:
0445d8ec48ce9950f7d29ea92ac656dd30d1b577
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix an issue where multiple ref-updates are rejected by gotd
ok op@
- Commit:
fcbb06bf6925b542428b937afc9f37446058e748
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
replace malloc+memcpy with strndup. no functional change intended
ok stsp@
- Commit:
7b1db75e88420c57858703ddfec2851107c6577d
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
a6f2507874172f4882c921af072a2d97eaa57029
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
do not forget to initialize delta_cache_fd in the session process