Commit Briefs

Stefan Sperling

fix unexpected imsg error after incomplete enumeration in got-read-pack

reported by jrick and op@ ok op@



Omar Polo

zero the whole struct got_imsg_object before sending it

otherwise some fields may be unitialized and fail the validation done on the receiving side. ok stsp@



Stefan Sperling

fix a bug in got_privsep_send_object_idlist() exposed by recent changes

The old code did not work correctly if only a single object Id was to be sent to got-read-pack. Make got-read-pack error out if the list of commits for object enumeration is empty to catch this problem if it occurs again. Found by the send_basic test, which was failing with GOT_TEST_PACK=1 ok tracey


Stefan Sperling

let got-read-pack be explicit about whether it could enumerate all objects

This allows the main process to avoid looping over all object IDs again in case the pack file used for enumeration is complete. ok op@


Omar Polo

remove trailing whitespaces


Omar Polo

compute object size, not pointer size

in this case they're luckily the same; got_imsg_object_idlist and got_imsg_reused_delta only have one size_t long field. ok stsp@


Omar Polo

strictier validation for data received from libexec helpers

use correct error code and ok stsp@


Omar Polo

drop unused variable


Omar Polo

use strndup instead of malloc+memcpy

Simplifies the reading of the author/committer string and makes also the code shorter. ok stsp@


Omar Polo

don't check datalen when calling recv_imsg_error

recv_imsg_error already checks the size of the message, and it does so more precisely than the removed code. ok stsp@


Stefan Sperling

Bring back object enumeration inside got-read-pack as a fast path.

The problem that was found in the earlier version has been fixed. ok op@


Stefan Sperling

revert object enumeration in got-read-pack for now; needs more work

This implementation marked commits and trees as enumerated before all trees which they depend on were enumerated. This behaviour leads to incomplete pack files when a tree is only partially packed and got-read-pack hits a missing tree entry as a result. The algorithm must be reworked such that packed leave nodes are marked enumerated first, then bubble-up. Found by op@


Stefan Sperling

fix wrong line wrap; pointed out by op@