Commit Briefs

8b925c6ccd Thomas Adam

portable: add back sys/queue.h

Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


e215b807ba Thomas Adam

get rid of unneeded recv_imsg_error calls

got_privsep_recv_imsg users don't need to bother to look whether the imsg type is GOT_IMSG_ERROR because got_privsep_recv_imsg already takes care of that and turns GOT_IMSG_ERROR into `struct got_error's automatically. ok stsp@


9b5e2ebd20 Thomas Adam

rework got_privesp_recv_tree to use got_privsep_recv_imsg

ok stsp@


ff5e1f0963 Thomas Adam

add signer_id option to got.conf(5)

Setting this option will cause 'got tag' to sign all created tags using the SSH key, unless overridden by the -s flag. ok stsp@


871bd03807 Thomas Adam

create and verify tags signed by SSH keys

This adds a new -s flag to 'got tag' that specifies the signer identity (for example, a key file) of the tagger. The tag object will include a signature that validates each of the tag object headers and the tag message. Verifying these signed tags requires maintaining an allowed signers file which maps signer identities (i.e. the email address of the tagger) to SSH public keys. See ssh-keygen(1) for more details of the allowed signers file. After creating this file and providing the path to it in got.conf(5) using the allowed_signers option, tags may be verified using with 'got tag -V tag_name'. The return code will be non-zero if a signature fails to verify. ok stsp@


39b829747f Thomas Adam

fix imsg_add TREE_ENTRY: Result too large on i386

There's a math error when computing the size of one entries in the batching code. Reported by semarie, ok semarie stsp


ec2b23c5d2 Thomas Adam

implement support for commit coloring in got-read-pack for speed

ok op, tracey


ef20f54204 Thomas Adam

build with -Wmissing-prototypes

ok stsp@


f3002810d8 Thomas Adam

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

reported by jrick and op@ ok op@



1bb2bba217 Thomas Adam

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@


8f3ec65d21 Thomas Adam

fix a harmless off-by-one from previous commit


ef53e23c28 Thomas Adam

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


e71f1e62dd Thomas Adam

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@


774020352c Thomas Adam

remove trailing whitespaces


623d55de6e Thomas Adam

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@


31d3263499 Thomas Adam

strictier validation for data received from libexec helpers

use correct error code and ok stsp@


12a8238ea9 Thomas Adam

drop unused variable


79b7acf3bc Thomas Adam

use strndup instead of malloc+memcpy

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


c24fd27082 Thomas Adam

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@


63915ee56b Thomas Adam

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@


3dfecf3ec1 Thomas Adam

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@


c8fa56b383 Thomas Adam

fix wrong line wrap; pointed out by op@



132807502f Thomas Adam

implement object enumeration support in got-read-pack

ok op@