Commit Briefs


Stefan Sperling

get rid of gotd client_id field where it is not needed

This ID was necessary back when session and repo processes supported connections from multiple clients. Nowadays, these processes run per connection and exit once a single client session has been served. The other processes already identify the client via the session/repo file descriptor which has sent an imsg.


Omar Polo

plug some fd leaks in the fdopen{,dir} error paths

There's also a memory leak fixed. ok stsp@


Omar Polo

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.


Omar Polo

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@



Stefan Sperling

add support for protecting references against 'got send -f' to gotd

ok op@



Omar Polo

gotd: Fix more double process names

Patch by Josiah Frentsos, thanks!


Stefan Sperling

make gotd repo_read store want/have commit IDs in ID sets rather than arrays

Currently only used to detect and avoid storing duplicate IDs sent in want and have lines by the client. If in the future we ever wanted to check which IDs the client has already sent us we could now do O(1) hash table lookups rather than iterating arrays. ok op@


Omar Polo

rename lib/sha1.c to lib/hash.c

It will soon grow functions to deal with sha256 too. stsp@ agrees.


Omar Polo

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>



Stefan Sperling

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@