RFR: 8328995: launcher can't open jar files where the offset of the manifest is >4GB [v3]
Jiangli Zhou
jiangli at openjdk.org
Fri Mar 29 18:27:32 UTC 2024
On Fri, 29 Mar 2024 18:08:56 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
>> Could you please point to the related spec for the other `extra field`?
>
> it's in APPNOTE.TXT 4.5, the extra field structure is `header1+data1 + header2+data2 . . .`, and we have to iterate through to see if there's an entry that's a zip64 extended information extra field
Thanks! That's helpful. I couldn't find the information earlier.
According to the spec (quoted below), finding the `Header ID` field can be used to identify the type of data, which is the logic done here. Could you please a comment above the `while` block with some of the related details? Thanks.
The Header ID field indicates the type of data that is in
the following data block.
4.5.2 The current Header ID mappings defined by PKWARE are:
0x0001 Zip64 extended information extra field
0x0007 AV Info
0x0008 Reserved for extended language encoding data (PFS)
(see APPENDIX D)
0x0009 OS/2
0x000a NTFS
0x000c OpenVMS
0x000d UNIX
0x000e Reserved for file stream and fork descriptors
0x000f Patch Descriptor
0x0014 PKCS#7 Store for X.509 Certificates
0x0015 X.509 Certificate ID and Signature for
individual file
0x0016 X.509 Certificate ID for Central Directory
0x0017 Strong Encryption Header
0x0018 Record Management Controls
0x0019 PKCS#7 Encryption Recipient Certificate List
0x0020 Reserved for Timestamp record
0x0021 Policy Decryption Key Record
0x0022 Smartcrypt Key Provider Record
0x0023 Smartcrypt Policy Key Data Record
0x0065 IBM S/390 (Z390), AS/400 (I400) attributes
- uncompressed
0x0066 Reserved for IBM S/390 (Z390), AS/400 (I400)
attributes - compressed
0x4690 POSZIP 4690 (reserved)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18479#discussion_r1544752797
More information about the core-libs-dev
mailing list