Commits


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@


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


implement support for commit coloring in got-read-pack for speed ok op, tracey


build with -Wmissing-prototypes ok stsp@


fix unexpected imsg error after incomplete enumeration in got-read-pack reported by jrick and op@ ok op@


memset all stack-allocated structs used to send messages; ok stsp@


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@


fix a harmless off-by-one from previous commit


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


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@


remove trailing whitespaces


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@


strictier validation for data received from libexec helpers use correct error code and ok stsp@


drop unused variable


use strndup instead of malloc+memcpy Simplifies the reading of the author/committer string and makes also the code shorter. ok stsp@