<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 68: Creating zip with Streamed Zip64 is missing central header records</title><link>https://sourceforge.net/p/infozip/bugs/68/</link><description>Recent changes to 68: Creating zip with Streamed Zip64 is missing central header records</description><atom:link href="https://sourceforge.net/p/infozip/bugs/68/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 01 Aug 2022 18:44:16 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/infozip/bugs/68/feed.rss" rel="self" type="application/rss+xml"/><item><title>#68 Creating zip with Streamed Zip64 is missing central header records</title><link>https://sourceforge.net/p/infozip/bugs/68/?limit=25#c233</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The analysis looks right.  The --force option seems to be working correctly, but the code that generates the Zip64 headers is not detecting that the headers are needed.&lt;/p&gt;
&lt;p&gt;And it does seem the same issue as #61.&lt;/p&gt;
&lt;p&gt;I'll throw this on the queue of issues with Zip that need to be fixed.  It should be a fairly quick fix, but no promises when Zip 3.1 will be released with it.&lt;/p&gt;
&lt;p&gt;Thanks for the feedback.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ed Gordon</dc:creator><pubDate>Mon, 01 Aug 2022 18:44:16 -0000</pubDate><guid>https://sourceforge.net137e4ea2c159f0ed63b8d7041a4ad0090bde8035</guid></item><item><title>Creating zip with Streamed Zip64 is missing central header records</title><link>https://sourceforge.net/p/infozip/bugs/68/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Consider the following command that will force a Zip64 archive with streaming enabled. &lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ echo abcde | zip --force-zip64 | cat &amp;gt;/tmp/x1.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This is what &lt;code&gt;unzip&lt;/code&gt; (on a very recent Ubuntu) thinks of the zip file&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$ unzip -t /tmp/x1.zip 
Archive:  /tmp/x1.zip
error &lt;span class="o"&gt;[&lt;/span&gt;/tmp/x1.zip&lt;span class="o"&gt;]&lt;/span&gt;:  missing &lt;span class="m"&gt;4294967212&lt;/span&gt; bytes &lt;span class="k"&gt;in&lt;/span&gt; zipfile
  &lt;span class="o"&gt;(&lt;/span&gt;attempting to process anyway&lt;span class="o"&gt;)&lt;/span&gt;
error: invalid zip file with overlapped components &lt;span class="o"&gt;(&lt;/span&gt;possible zip bomb&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Below is a dump of the internal structure of the zip file created with &lt;a class="" href="https://github.com/pmqs/zipdetails" rel="nofollow"&gt;zipdetails&lt;/a&gt;. Note the absence of both of the Zip64 records ( &lt;code&gt;zip64 end of central directory record&lt;/code&gt; and &lt;code&gt;zip64 end of central directory locator&lt;/code&gt;)  that should be present in the central directory&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;zipdetails&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;scan&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;x1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;zip&lt;/span&gt;

&lt;span class="mi"&gt;0000&lt;/span&gt; &lt;span class="n"&gt;LOCAL&lt;/span&gt; &lt;span class="n"&gt;HEADER&lt;/span&gt; &lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;       &lt;span class="mi"&gt;04034&lt;/span&gt;&lt;span class="n"&gt;B50&lt;/span&gt;
&lt;span class="mi"&gt;0004&lt;/span&gt; &lt;span class="n"&gt;Extract&lt;/span&gt; &lt;span class="n"&gt;Zip&lt;/span&gt; &lt;span class="n"&gt;Spec&lt;/span&gt;      &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;D&lt;/span&gt; &lt;span class="s"&gt;'4.5'&lt;/span&gt;
&lt;span class="mi"&gt;0005&lt;/span&gt; &lt;span class="n"&gt;Extract&lt;/span&gt; &lt;span class="n"&gt;OS&lt;/span&gt;            &lt;span class="mi"&gt;00&lt;/span&gt; &lt;span class="s"&gt;'MS-DOS'&lt;/span&gt;
&lt;span class="mi"&gt;0006&lt;/span&gt; &lt;span class="n"&gt;General&lt;/span&gt; &lt;span class="n"&gt;Purpose&lt;/span&gt; &lt;span class="n"&gt;Flag&lt;/span&gt;  &lt;span class="mi"&gt;0008&lt;/span&gt;
     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bits&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;            &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="s"&gt;'Normal Compression'&lt;/span&gt;
     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bit&lt;/span&gt;  &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;              &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="s"&gt;'Streamed'&lt;/span&gt;
&lt;span class="mi"&gt;0008&lt;/span&gt; &lt;span class="n"&gt;Compression&lt;/span&gt; &lt;span class="n"&gt;Method&lt;/span&gt;    &lt;span class="mi"&gt;0008&lt;/span&gt; &lt;span class="s"&gt;'Deflated'&lt;/span&gt;
&lt;span class="mi"&gt;000&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="n"&gt;Last&lt;/span&gt; &lt;span class="n"&gt;Mod&lt;/span&gt; &lt;span class="n"&gt;Time&lt;/span&gt;         &lt;span class="mi"&gt;55017&lt;/span&gt;&lt;span class="n"&gt;AE4&lt;/span&gt; &lt;span class="s"&gt;'Mon Aug  1 16:23:08 2022'&lt;/span&gt;
&lt;span class="mi"&gt;000&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="n"&gt;CRC&lt;/span&gt;                   &lt;span class="mi"&gt;00000000&lt;/span&gt;
&lt;span class="mi"&gt;0012&lt;/span&gt; &lt;span class="n"&gt;Compressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;     &lt;span class="n"&gt;FFFFFFFF&lt;/span&gt;
&lt;span class="mi"&gt;0016&lt;/span&gt; &lt;span class="n"&gt;Uncompressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;   &lt;span class="n"&gt;FFFFFFFF&lt;/span&gt;
&lt;span class="mi"&gt;001&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;       &lt;span class="mi"&gt;0001&lt;/span&gt;
&lt;span class="mi"&gt;001&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt; &lt;span class="n"&gt;Extra&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;          &lt;span class="mi"&gt;0014&lt;/span&gt;
&lt;span class="mi"&gt;001&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt;              &lt;span class="s"&gt;'-'&lt;/span&gt;
&lt;span class="mi"&gt;001&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt; &lt;span class="n"&gt;Extra&lt;/span&gt; &lt;span class="n"&gt;ID&lt;/span&gt; &lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;0001&lt;/span&gt;        &lt;span class="mi"&gt;0001&lt;/span&gt; &lt;span class="s"&gt;'ZIP64'&lt;/span&gt;
&lt;span class="mi"&gt;0021&lt;/span&gt;   &lt;span class="n"&gt;Length&lt;/span&gt;              &lt;span class="mi"&gt;0010&lt;/span&gt;
&lt;span class="mi"&gt;0023&lt;/span&gt;   &lt;span class="n"&gt;Uncompressed&lt;/span&gt; &lt;span class="n"&gt;Size&lt;/span&gt;   &lt;span class="mi"&gt;0000000000000000&lt;/span&gt;
&lt;span class="mi"&gt;002&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;   &lt;span class="n"&gt;Compressed&lt;/span&gt; &lt;span class="n"&gt;Size&lt;/span&gt;     &lt;span class="mi"&gt;0000000000000000&lt;/span&gt;
&lt;span class="mi"&gt;0033&lt;/span&gt; &lt;span class="n"&gt;PAYLOAD&lt;/span&gt;

&lt;span class="mi"&gt;003&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="n"&gt;STREAMING&lt;/span&gt; &lt;span class="n"&gt;DATA&lt;/span&gt; &lt;span class="n"&gt;HEADER&lt;/span&gt; &lt;span class="mi"&gt;08074&lt;/span&gt;&lt;span class="n"&gt;B50&lt;/span&gt;
&lt;span class="mi"&gt;003&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt; &lt;span class="n"&gt;CRC&lt;/span&gt;                   &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;F8A149C&lt;/span&gt;
&lt;span class="mi"&gt;0043&lt;/span&gt; &lt;span class="n"&gt;Compressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;     &lt;span class="mi"&gt;0000000000000008&lt;/span&gt;
&lt;span class="mi"&gt;004&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="n"&gt;Uncompressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;   &lt;span class="mi"&gt;0000000000000006&lt;/span&gt;

&lt;span class="mi"&gt;0057&lt;/span&gt; &lt;span class="n"&gt;CENTRAL&lt;/span&gt; &lt;span class="n"&gt;HEADER&lt;/span&gt; &lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;     &lt;span class="mi"&gt;02014&lt;/span&gt;&lt;span class="n"&gt;B50&lt;/span&gt;
&lt;span class="mi"&gt;005&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="n"&gt;Created&lt;/span&gt; &lt;span class="n"&gt;Zip&lt;/span&gt; &lt;span class="n"&gt;Spec&lt;/span&gt;      &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="s"&gt;'3.0'&lt;/span&gt;
&lt;span class="mi"&gt;005&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt; &lt;span class="n"&gt;Created&lt;/span&gt; &lt;span class="n"&gt;OS&lt;/span&gt;            &lt;span class="mi"&gt;03&lt;/span&gt; &lt;span class="s"&gt;'Unix'&lt;/span&gt;
&lt;span class="mi"&gt;005&lt;/span&gt;&lt;span class="n"&gt;D&lt;/span&gt; &lt;span class="n"&gt;Extract&lt;/span&gt; &lt;span class="n"&gt;Zip&lt;/span&gt; &lt;span class="n"&gt;Spec&lt;/span&gt;      &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;D&lt;/span&gt; &lt;span class="s"&gt;'4.5'&lt;/span&gt;
&lt;span class="mi"&gt;005&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="n"&gt;Extract&lt;/span&gt; &lt;span class="n"&gt;OS&lt;/span&gt;            &lt;span class="mi"&gt;00&lt;/span&gt; &lt;span class="s"&gt;'MS-DOS'&lt;/span&gt;
&lt;span class="mi"&gt;005&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt; &lt;span class="n"&gt;General&lt;/span&gt; &lt;span class="n"&gt;Purpose&lt;/span&gt; &lt;span class="n"&gt;Flag&lt;/span&gt;  &lt;span class="mi"&gt;0008&lt;/span&gt;
     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bits&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;            &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="s"&gt;'Normal Compression'&lt;/span&gt;
     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bit&lt;/span&gt;  &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;              &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="s"&gt;'Streamed'&lt;/span&gt;
&lt;span class="mi"&gt;0061&lt;/span&gt; &lt;span class="n"&gt;Compression&lt;/span&gt; &lt;span class="n"&gt;Method&lt;/span&gt;    &lt;span class="mi"&gt;0008&lt;/span&gt; &lt;span class="s"&gt;'Deflated'&lt;/span&gt;
&lt;span class="mi"&gt;0063&lt;/span&gt; &lt;span class="n"&gt;Last&lt;/span&gt; &lt;span class="n"&gt;Mod&lt;/span&gt; &lt;span class="n"&gt;Time&lt;/span&gt;         &lt;span class="mi"&gt;55017&lt;/span&gt;&lt;span class="n"&gt;AE4&lt;/span&gt; &lt;span class="s"&gt;'Mon Aug  1 16:23:08 2022'&lt;/span&gt;
&lt;span class="mi"&gt;0067&lt;/span&gt; &lt;span class="n"&gt;CRC&lt;/span&gt;                   &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;F8A149C&lt;/span&gt;
&lt;span class="mi"&gt;006&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="n"&gt;Compressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;     &lt;span class="mi"&gt;00000008&lt;/span&gt;
&lt;span class="mi"&gt;006&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt; &lt;span class="n"&gt;Uncompressed&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;   &lt;span class="n"&gt;FFFFFFFF&lt;/span&gt;
&lt;span class="mi"&gt;0073&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;       &lt;span class="mi"&gt;0001&lt;/span&gt;
&lt;span class="mi"&gt;0075&lt;/span&gt; &lt;span class="n"&gt;Extra&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;          &lt;span class="mi"&gt;000&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt;
&lt;span class="mi"&gt;0077&lt;/span&gt; &lt;span class="n"&gt;Comment&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;        &lt;span class="mi"&gt;0000&lt;/span&gt;
&lt;span class="mi"&gt;0079&lt;/span&gt; &lt;span class="n"&gt;Disk&lt;/span&gt; &lt;span class="n"&gt;Start&lt;/span&gt;            &lt;span class="mi"&gt;0000&lt;/span&gt;
&lt;span class="mi"&gt;007&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="n"&gt;Int&lt;/span&gt; &lt;span class="n"&gt;File&lt;/span&gt; &lt;span class="n"&gt;Attributes&lt;/span&gt;   &lt;span class="mi"&gt;0001&lt;/span&gt;
     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Bit&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;               &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt; &lt;span class="n"&gt;Data&lt;/span&gt;
&lt;span class="mi"&gt;007&lt;/span&gt;&lt;span class="n"&gt;D&lt;/span&gt; &lt;span class="n"&gt;Ext&lt;/span&gt; &lt;span class="n"&gt;File&lt;/span&gt; &lt;span class="n"&gt;Attributes&lt;/span&gt;   &lt;span class="mi"&gt;11800000&lt;/span&gt;
&lt;span class="mi"&gt;0081&lt;/span&gt; &lt;span class="n"&gt;Local&lt;/span&gt; &lt;span class="n"&gt;Header&lt;/span&gt; &lt;span class="n"&gt;Offset&lt;/span&gt;   &lt;span class="mi"&gt;00000000&lt;/span&gt;
&lt;span class="mi"&gt;0085&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt;              &lt;span class="s"&gt;'-'&lt;/span&gt;
&lt;span class="mi"&gt;0086&lt;/span&gt; &lt;span class="n"&gt;Extra&lt;/span&gt; &lt;span class="n"&gt;ID&lt;/span&gt; &lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;0001&lt;/span&gt;        &lt;span class="mi"&gt;0001&lt;/span&gt; &lt;span class="s"&gt;'ZIP64'&lt;/span&gt;
&lt;span class="mi"&gt;0088&lt;/span&gt;   &lt;span class="n"&gt;Length&lt;/span&gt;              &lt;span class="mi"&gt;0008&lt;/span&gt;
&lt;span class="mi"&gt;008&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;   &lt;span class="n"&gt;Uncompressed&lt;/span&gt; &lt;span class="n"&gt;Size&lt;/span&gt;   &lt;span class="mi"&gt;0000000000000006&lt;/span&gt;

&lt;span class="mi"&gt;008&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="kr"&gt;END&lt;/span&gt; &lt;span class="n"&gt;CENTRAL&lt;/span&gt; &lt;span class="n"&gt;HEADER&lt;/span&gt;    &lt;span class="mi"&gt;06054&lt;/span&gt;&lt;span class="n"&gt;B50&lt;/span&gt;
&lt;span class="mi"&gt;0092&lt;/span&gt; &lt;span class="n"&gt;Number&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;disk&lt;/span&gt;   &lt;span class="mi"&gt;0000&lt;/span&gt;
&lt;span class="mi"&gt;0094&lt;/span&gt; &lt;span class="n"&gt;Central&lt;/span&gt; &lt;span class="n"&gt;Dir&lt;/span&gt; &lt;span class="n"&gt;Disk&lt;/span&gt; &lt;span class="n"&gt;no&lt;/span&gt;   &lt;span class="mi"&gt;0000&lt;/span&gt;
&lt;span class="mi"&gt;0096&lt;/span&gt; &lt;span class="n"&gt;Entries&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;disk&lt;/span&gt;  &lt;span class="mi"&gt;0001&lt;/span&gt;
&lt;span class="mi"&gt;0098&lt;/span&gt; &lt;span class="n"&gt;Total&lt;/span&gt; &lt;span class="n"&gt;Entries&lt;/span&gt;         &lt;span class="mi"&gt;0001&lt;/span&gt;
&lt;span class="mi"&gt;009&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="n"&gt;Size&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;Central&lt;/span&gt; &lt;span class="n"&gt;Dir&lt;/span&gt;   &lt;span class="mi"&gt;0000003&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;
&lt;span class="mi"&gt;009&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="n"&gt;Offset&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;Central&lt;/span&gt; &lt;span class="n"&gt;Dir&lt;/span&gt; &lt;span class="n"&gt;FFFFFFFF&lt;/span&gt;
&lt;span class="mi"&gt;00&lt;/span&gt;&lt;span class="n"&gt;A2&lt;/span&gt; &lt;span class="n"&gt;Comment&lt;/span&gt; &lt;span class="n"&gt;Length&lt;/span&gt;        &lt;span class="mi"&gt;0000&lt;/span&gt;
&lt;span class="n"&gt;Done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;I suspect that this is a variation on  &lt;a class="alink" href="/p/infozip/bugs/61/"&gt;[#61]&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Marquess</dc:creator><pubDate>Mon, 01 Aug 2022 14:56:02 -0000</pubDate><guid>https://sourceforge.net182c780f63b6328465585af7bcf5e28f566949e6</guid></item></channel></rss>