Commit Briefs

7589a830f7 Thomas Adam

portable: release 0.94 (tags/0.94)


36d7ed1e4c Thomas Adam

portable: update dist configuration

When running 'make dist', ensure we automatically pass through the relevant configure options so that the relevant files are included.


89e7c39ce3 Thomas Adam

bump version number


531058edb8 Thomas Adam

CHANGES for 0.94


1e687637d8 Thomas Adam

sync dist file list


619437c173 Thomas Adam

adjust expected output to make 2 failing gotd regression tests pass

The repo_write process still announces HEAD twice, once with its symref target and once with the resolved symref object hash. I cannot recall if this is deliberate but let's accept it for now to avoid test failures being flagged due to this issue, which is mostly cosmetic.


405e082cb9 Thomas Adam

detect concurrent changes to the set of pack files while matching object IDs

This should prevent a use-after-free crash I observed in gotwebd. ok op@


efc1d9908d Thomas Adam

portable: template: use got_compat.h


5f50119f48 Thomas Adam

portable: add got_compat.h where necessary

Where new files have appeared, etc., in -portable, "got_compat.h" needs to be added.


b69b73ef94 Thomas Adam

portable: update imsg from OpenBSD libutil

Sync latest changes of imsg from OpenBSD, as some of its newer fd handling is required.


da3a2e8062 Thomas Adam

don't ignore err in got_privsep_recv_painted_commits


ea827802c0 Thomas Adam

gotwebd: fix broken signal catching due to a pasto

While here, remove completely the libevent handling of SIGPIPE in favour of the already existing signal(3) call to ignore it; there's no point in logging a SIGPIPE.


3f69050e70 Thomas Adam

fix memory leak on error in got_privsep_recv_painted_commits()

Diff from Kyle Ackerman, thank you! I've added a imsg_free() call before the break too.


16753fcd1c Thomas Adam

remove 'bind interface removal' TODO item


d1d263eac7 Thomas Adam

gotwebd: inline and remove IMSG_SIZE_CHECK()

I always find confusing if IMSG_SIZE_CHECK() takes pointers or not, and we had at least a few instances of wrong usages, so inline (with exact size checks) and remove the macro. ok stsp@


ab5bda7ecb Thomas Adam

remove the gotwebd repository cache

It only had 4 slots so was never quite useful, and sharing of sock->pack_fds across cached repositories seems problematic. with help from + ok op@


aea518b567 Thomas Adam

whitespace fix


f422fd17f5 Thomas Adam

gotwebd: ignore SIGPIPE in the sockets processes too


25ebe47068 Thomas Adam

gotwebd: send a UNIQUE temp fd

main_compose_sockets() has the 'feature' of implicitly dup(2)'ing the passed file descriptior. But it's not what we need for the temp fds, since those needs to be unique per-children. debugged with stsp@


1962c34091 Thomas Adam

gotwebd: don't chdir to / before spawning the child processes

allows to run gotwebd from the got checkout again.


aada9b0335 Thomas Adam

gotwebd: move log_init() even earlier. I can't read...


f1e20d0119 Thomas Adam

gotwebd: define constant instead of using the magic number 3

suggested by stsp@


3bb657abe5 Thomas Adam

gotwebd: make main_compose_sockets() close the fd on error

concern raised by stsp@


f85c939fb7 Thomas Adam

gotwebd: get rid of proc.[ch]

proc.c really shines when there's a network of different types of processes, potentially with a various number of instances each, that needs to exchange messages. Gotwebd instead has a much simpler design, and using proc.c causes more overhead (/headaches) than it solves. So, this attempts to provide the same functionalities but with a much simpler implementation that fits gotwebd better. ok stsp@


b38e9a2a17 Thomas Adam

gotwebd: improve gotwebd_assign_querystring()

This prevents the issues that we just hit with forgetting to remove PREVID: instead of relying on the enum value to yield the size of a table, use nitems(). Also, quit as soon as the matching key was found, no need to iterate further. ok stsp@