fix GOT_IMSG_COMMIT_TRAVERSAL_REQUEST
commita578d6ec6d3818f6a19379ef10e6def9dc71abb1
authorOmar Polo <op@omarpolo.com>
Sun, 26 Feb 2023 21:34:11 +0000 (26 21:34 +0000)
committerThomas Adam <thomas@xteddy.org>
Wed, 1 Mar 2023 14:29:44 +0000 (1 14:29 +0000)
tree491bf0380b9012482a0de43060138b1e8cd83747
parent12bec09b8ee75929ed950b389867d6116246a690
fix GOT_IMSG_COMMIT_TRAVERSAL_REQUEST

The sending and receiving side are sending the data differently.  It
works now by chance since a struct got_object_id is "just" a
SHA1_DIGEST_LENGTH sized buffer, but will break in the future.
Furthermore, the structure of the data as described in got_lib_privsep.h
is not respected, as the path_len field is not transmitted.

Change it to send/receive a whole struct got_object_id, the path without
the NUL and the proper length.  (The path is also actually mandatory, so
assert it too.)

improvements + ok stsp@
lib/got_lib_privsep.h
lib/privsep.c
libexec/got-read-pack/got-read-pack.c