Commits
- Commit:
04ddbc75ae91738a071c04bb2f2d6c9ff4dac225
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
3d97effaa4fe16c79f725bf260f06220e62e5c6a
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
34cd2d9587b79912669c8bb19b54ab7a7b0b4828
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make gotsh handle poll timeouts when checking for gotd closing the pack pipe
This will hopefully fix issues seen on servers where gotsh exits early
for no good reason.
- Commit:
e0b6d366f262254dd06e78941adf35836499d723
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: mismerge in serve_write()
- 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:
d95d69074c849c2f95e9f12f2cd4403a60ba30fe
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
gotsh: do not set POLLOUT flag when there is no data to send
Prevent an endless polling loop on Linux where POLLOUT and POLLHUP
can both be reported via pollfd revents.
- 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:
5769f9a0a07516237666a060ff3e06d43f4db8ed
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
significantly reduce the amount of code linked into gitwrapper
By moving got_serve_parse_command() from lib/serve.c into lib/dial.c
as got_dial_parse_command(), we can significantly reduce the amount
of symbols gitwrapper depends on indirectly.
As a downside, gotsh now needs to link to dial.c. But it only uses the
same parsing routine, and any other routines in dial.c would likely
cause pledge violations in gotsh if used.
No functional change.
- Commit:
bf2e865dbd3709ef6a6f1be17c021f8ebcd9e3ab
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix an off-by-one in got_serve_parse_command() canonpath allocation
ok op@, tracey@
- Commit:
da1b528cac268fe0a423aa7ba8b4c97b41381729
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix gotd sending too large pack files in some cases
Make gotsh pass all have-lines sent by clients onwards to gotd, reducing
size of pack files generated by the repo_read process.
Problem reported by naddy@
ok jamsek
- 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:
c8ae092d079ca1c9f5f2a7e44c73948cd55454e7
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
provide functions to parse/serialize different hashes
it abstracts over the hash type and ensures that object ids are zero'ed
before their sha1 digest is written. Needed by the incoming sha256
support.
ok stsp@
- 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:
4c4f6843ebd869fa929b6407f1352bb545dd2ba1
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tweak send_zero_refs; use GOT_SHA1_STRING_ZERO
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:
0df2f4da548c03b7be3032d09620f7ab13daf62d
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
delete trailing whitespaces
- Commit:
8b56c8f497bb215c0e3504455ac22a3f25646a5b
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make read errors in gotsh serve_write() fatal, as was done for serve_read()
- Commit:
214d733a8e368034e6afa52b6c9ac25e071fd0c7
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
gotsh: validate with parse_command before connecting
Export parse_command (now got_serve_parse_command) from lib/serve.c and
use it to validate the command line in gotsh instead of just checking
that the -c argument starts with 'git-receive-pack' or 'git-upload-pack'.
Invalid usage now always fails before opening the socket, while before
it wasn't always the case. This also means that invalid usage doesn't
count towards the limits.
ok jamsek, stsp
- Commit:
8efb3dc0bc74c64b086dbee78912ab594bae37bd
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fmt; fold long line
- Commit:
113392cfbd4d2583badd52487063cd5f84f55518
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make read errors in gotsh serve_read() fatal and adjust tests accordingly
ok jamsek
- Commit:
94a71055f46811ae239b1b26205482f35fbf85e9
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
only "forward" implicit flush packets in serve_read() if they are expected
ok jamsek
- Commit:
895484c861438d44537d6b4ae700e7f16274565c
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix spurious "gotsh: unexpected flush packet" error when client is up-to-date
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