commit - 8f493484ff8197dccfed29dac5d18f6790cfad57
commit + b6f6773045fc2a75fd5de6bf0d880c03c4f27aaa
blob - 21032f7b47716e34e6fb9d58c8c6cf9f9dadd64f
blob + 5516be811db3c2c4d2d45096e1c9fc8652fabe59
--- lib/got_lib_privsep.h
+++ lib/got_lib_privsep.h
* GOT_IMSG_PACKED_RAW_OBJECT_REQUEST data.
*/
struct got_imsg_packed_object {
- uint8_t id[SHA1_DIGEST_LENGTH];
+ struct got_object_id id;
int idx;
} __attribute__((__packed__));
blob - 72df858a344baaa7631049c320a8bb04a3024eda
blob + 135b137b24fdb8fc616716b4ba6fa2fced4603e7
--- lib/privsep.c
+++ lib/privsep.c
memset(&iobj, 0, sizeof(iobj));
if (pack_idx != -1) { /* commit is packed */
iobj.idx = pack_idx;
- memcpy(iobj.id, id->sha1, sizeof(iobj.id));
+ memcpy(&iobj.id, id, sizeof(iobj.id));
data = &iobj;
len = sizeof(iobj);
} else {
memset(&iobj, 0, sizeof(iobj));
if (pack_idx != -1) { /* tag is packed */
iobj.idx = pack_idx;
- memcpy(iobj.id, id->sha1, sizeof(iobj.id));
+ memcpy(&iobj.id, id, sizeof(iobj.id));
data = &iobj;
len = sizeof(iobj);
} else {
memset(&iobj, 0, sizeof(iobj));
if (pack_idx != -1) { /* blob is packed */
iobj.idx = pack_idx;
- memcpy(iobj.id, id->sha1, sizeof(iobj.id));
+ memcpy(&iobj.id, id, sizeof(iobj.id));
data = &iobj;
len = sizeof(iobj);
} else {
memset(&iobj, 0, sizeof(iobj));
iobj.idx = idx;
- memcpy(iobj.id, id->sha1, sizeof(iobj.id));
+ memcpy(&iobj.id, id, sizeof(iobj.id));
if (imsg_compose(ibuf, GOT_IMSG_PACKED_OBJECT_REQUEST, 0, 0, -1,
&iobj, sizeof(iobj)) == -1)
memset(&iobj, 0, sizeof(iobj));
iobj.idx = idx;
- memcpy(iobj.id, id->sha1, sizeof(iobj.id));
+ memcpy(&iobj.id, id, sizeof(iobj.id));
if (imsg_compose(ibuf, GOT_IMSG_PACKED_RAW_OBJECT_REQUEST, 0, 0, -1,
&iobj, sizeof(iobj)) == -1)
blob - 2d8a494fd6985be88a80609324aa75abab76b77d
blob + 3ecb5321e9344977699d15e9f11df8e2c6eef2e3
--- libexec/got-read-pack/got-read-pack.c
+++ libexec/got-read-pack/got-read-pack.c
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
obj = got_object_cache_get(objcache, &id);
if (obj) {
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
err = open_commit(&commit, pack, packidx, iobj.idx, &id, objcache);
if (err)
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
err = open_tree(&buf, entries, nentries, nentries_alloc,
pack, packidx, iobj.idx, &id, objcache);
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
obj = got_object_cache_get(objcache, &id);
if (obj) {
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
obj = got_object_cache_get(objcache, &id);
if (obj) {
if (datalen < sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
path_len = datalen - sizeof(iobj) - 1;
if (path_len < 0)
if (datalen != sizeof(iobj))
return got_error(GOT_ERR_PRIVSEP_LEN);
memcpy(&iobj, imsg->data, sizeof(iobj));
- memcpy(id.sha1, iobj.id, SHA1_DIGEST_LENGTH);
+ memcpy(&id, &iobj.id, sizeof(id));
obj = got_object_cache_get(objcache, &id);
if (obj) {