Commit Diff


commit - 980c6786a419950816c67eb1b53e021ebdfe483c
commit + 265df21f29865b8cc1eb0f0b93b8ca91ff134414
blob - 5010cb878bd556b6b5255748ec43c5bda5a060da
blob + a0f34aa4a82baaa0867ea1ea1ae0e1c7cbbd20bf
--- lib/got_lib_privsep.h
+++ lib/got_lib_privsep.h
@@ -526,7 +526,7 @@ struct got_object_id;
  * 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 - d7a1dda565c2f2ee404c15276ebdd47e29965ed9
blob + 8b8219e58dcd172645c354edfcb985499bd7faa6
--- lib/privsep.c
+++ lib/privsep.c
@@ -364,7 +364,7 @@ got_privsep_send_commit_req(struct imsgbuf *ibuf, int 
 	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 {
@@ -423,7 +423,7 @@ got_privsep_send_tag_req(struct imsgbuf *ibuf, int fd,
 	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 {
@@ -450,7 +450,7 @@ got_privsep_send_blob_req(struct imsgbuf *ibuf, int in
 	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 {
@@ -1957,7 +1957,7 @@ got_privsep_send_packed_obj_req(struct imsgbuf *ibuf, 
 
 	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)
@@ -1975,7 +1975,7 @@ got_privsep_send_packed_raw_obj_req(struct imsgbuf *ib
 
 	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 - cd5bce6f2ef11d44d4fdf5b929d094051d59464c
blob + 7da00ecab5dd244314979ca026eb0743fa4b139b
--- libexec/got-read-pack/got-read-pack.c
+++ libexec/got-read-pack/got-read-pack.c
@@ -95,7 +95,7 @@ object_request(struct imsg *imsg, struct imsgbuf *ibuf
 	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) {
@@ -162,7 +162,7 @@ commit_request(struct imsg *imsg, struct imsgbuf *ibuf
 	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)
@@ -237,7 +237,7 @@ tree_request(struct imsg *imsg, struct imsgbuf *ibuf, 
 	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);
@@ -332,7 +332,7 @@ blob_request(struct imsg *imsg, struct imsgbuf *ibuf, 
 	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) {
@@ -393,7 +393,7 @@ tag_request(struct imsg *imsg, struct imsgbuf *ibuf, s
 	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) {
@@ -617,7 +617,7 @@ commit_traversal_request(struct imsg *imsg, struct ims
 	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)
@@ -801,7 +801,7 @@ raw_object_request(struct imsg *imsg, struct imsgbuf *
 	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) {