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