On Fri, 29 Mar 2024 18:08:56 GMT, Liam Miller-Cushon <cus...@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