#1433 Improper handling of .ZIP with Extended Timestamp

open
nobody
None
5
2014-08-21
2014-08-21
quanta
No

If an object within .ZIP archive contains a corresponding extended timestamp extra field (0x5455), 7-Zip File Manager only shows the central directory version of the extra field, which only stores the modification time but not the creation and last access time found in the local file header version of the extra field. This makes it impossible for user to tell the presence of the extended timestamp extra field, or creation and last access timestamps within the archive, let alone restoring them.

This brings to another issue regarding the handling of extended timestamp extra field. If an object within .ZIP archive contains a corresponding extended timestamp extra field (0x5455), 7-Zip File Manager only restores the UTC-corrected timestamps within the extra field instead of the timestamps in the basic header fields, and discards the rest of the timestamps in the extended timestamp extra field. This leads to wrong timestamps may get restored, and the hidden timestamps are lost during extraction/conversion.

To remedy the above issues, 7-Zip File Manager must include the ability to report all (extended) local header and central directory info to user, similar to the details tab in the properties panel in SecureZIP. If an object contains multiple header fields storing the same type of metadata, 7-Zip must offer the ability for user to choose which version of metadata to utilize, especially when mismatch between different headers within the same object occurs. The fix is particularly important for .ZIP archive since each file can have at least 8 known different header types capable of storing timestamps (more if local header/central directory variants are included).

Discussion