Re: [PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-24 Thread René Scharfe
Am 24.04.2017 um 10:04 schrieb Peter Krefting: Johannes Sixt: There is no "zip64 central directory". There is a "zip64 end of central directory record"; Not strange that I was confused and couldn't find it, then... :-) All right, I need to fix up my patch to make sure I add the zip64 extra

Re: [PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-24 Thread Peter Krefting
Johannes Sixt: There is no "zip64 central directory". There is a "zip64 end of central directory record"; Not strange that I was confused and couldn't find it, then... :-) All right, I need to fix up my patch to make sure I add the zip64 extra record to both the central directory entry and t

Re: [PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-23 Thread Johannes Sixt
Am 23.04.2017 um 16:51 schrieb Peter Krefting: Johannes Sixt: @@ -376,7 +397,7 @@ static int write_zip_entry(struct archiver_args *args, copy_le16(dirent.comment_length, 0); copy_le16(dirent.disk, 0); copy_le32(dirent.attr2, attr2); -copy_le32(dirent.offset, zip_offset); +

Re: [PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-23 Thread Peter Krefting
Johannes Sixt: Let's get the naming straight: There is no "zip64 local header". There is a "zip64 extra record" for the "zip local header". Indeed, sorry for the confusion. That's what I get for trying to write coherent email at half past midnight :-) The zip64 extra data record has an offs

Re: [PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-23 Thread Johannes Sixt
Am 23.04.2017 um 00:41 schrieb Peter Krefting: Indeed. Last time I implemented zip64 support it was on the reading side, and I remember this was a mess... It is indeed! static void set_zip_header_data_desc(struct zip_local_header *header, unsigned long si

[PATCH v2] archive-zip: Add zip64 headers when file size is too large for 32 bits

2017-04-22 Thread Peter Krefting
If the size of the files in the archive cannot be expressed in 32 bits, or the offset in the zip file itself, add zip64 local headers with the actual size. If we do find such entries, we also set a flag to force the creation of a zip64 end of central directory record. Signed-off-by: Peter Krefting