RFR: 8328995: launcher can't open jar files where the offset of the manifest is >4GB [v3]
Liam Miller-Cushon
cushon at openjdk.org
Mon Apr 1 22:22:19 UTC 2024
On Fri, 29 Mar 2024 18:25:18 GMT, Jiangli Zhou <jiangli at openjdk.org> wrote:
>> 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)
Added a comment
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18479#discussion_r1546911763
More information about the core-libs-dev
mailing list