{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "initial support for this feature is in  change set 27076.  Try it out in the v1.7.1.7 preview release, available now.",
    "ClosedDate": "2008-12-19T22:01:25.677-08:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "Large archives can use the ZIP64 extensions to store file information.  They place -1 in the compressed / uncompressed file length, indicating the actual lengths are stored in the _Extra field of a Zip Entry.  See the PKZIP specification for more information.\n \nThis library has two problems:\n1. It doesn't store the _UncompressedSize and _CompressedSize as 64-bit values in ZipEntry, and\n2. It doesn't parse the _Extra data for ZIP64 information, and tries to treat -1 as a valid length.\n \nAs a quick hack, adding this to ZipEntry.ReadHeader (and fixing up the types of a number of types / expressions seems to work):\n            if (ze._Extra != null)\n            {\n                int j = 0;\n                while (j < ze._Extra.Length)\n                {\n                    int start = j;\n                    ushort sig = BitConverter.ToUInt16(ze._Extra, j);\n                    ushort len = BitConverter.ToUInt16(ze._Extra, j + 2);\n \n                    j += 4;\n \n                    if (sig == 1) // ZIP64\n                    {\n                        if (ze._UncompressedSize == -1)\n                        {\n                            ze._UncompressedSize = BitConverter.ToInt64(ze._Extra, j);\n                            j += 8;\n                        }\n                        if (ze._CompressedSize == -1)\n                        {\n                            ze._CompressedSize = BitConverter.ToInt64(ze._Extra, j);\n                            j += 8;\n                        }\n                    }\n \n                    j = start + len + 4;\n                }\n            }\n \nI've attached the files I modified.",
    "LastUpdatedDate": "2013-05-16T05:32:36.807-07:00",
    "PlannedForRelease": "",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Medium",
      "Severity": 100,
      "Id": 2
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2008-10-15T10:51:26.583-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "Support ZIP64 Extensions (for large archives)",
    "Type": {
      "Name": "Feature",
      "Id": 1
    },
    "VoteCount": 5,
    "Id": 6437
  },
  "FileAttachments": [
    {
      "FileId": 1487,
      "FileName": "ModifiedFiles.zip",
      "DownloadUrl": ".\\1487"
    }
  ],
  "Comments": [
    {
      "Message": "That seems like it would work for the simple case of calling Read() on a zip in Zip64 format.  Now what if I read in that zip and try to save it?  \r\nWhat about slurping in and validating the central directory record?  That has changes for zip64 format, too.   \r\n\r\nThere's a bunch of other changes and tests that the project would need, in order to *really* support zip64 reliably.\r\n\r\nDoes Windows Explorer produce and successfully read zip64 archives?  \r\n\r\nKen, you seem to know something about the zip spec. \r\n",
      "PostedDate": "2008-10-16T18:00:59.147-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-10-21T17:31:43.23-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-13T11:36:01.603-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-15T01:40:47.257-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-11-17T03:02:30.663-08:00",
      "Id": -2147483648
    },
    {
      "Message": "If anyone has one or more zip64 archives they can point me to, I would appreciate it.  ",
      "PostedDate": "2008-11-18T09:45:08.39-08:00",
      "Id": -2147483648
    },
    {
      "Message": "Windows XP & Vista are unable to read/produce Zip64 files.\r\n\r\nYou can found a 5GB ZIP64 archive here : http://www.archive.org/details/test_zip64",
      "PostedDate": "2008-11-19T20:29:37.637-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-12-04T13:17:03.01-08:00",
      "Id": -2147483648
    },
    {
      "Message": "Thanks, DomZ, that is helpful.\r\n",
      "PostedDate": "2008-12-12T08:20:56.17-08:00",
      "Id": -2147483648
    },
    {
      "Message": "DomZ - I cannot download that zip.  When I click on the link I get a 404.  I can see the metadata, but not the test2.zip itself.  is there another way you can get me sample zip64 archives? \r\nI need more than one.  I need \r\n- an archive larger than 4.3g\r\n- an archive smaller than 4.3g, which has at least one file that expands to larger than 4.3g\r\n- an archive smaller than 4.3g, which has more than 65536 entries in it.\r\n",
      "PostedDate": "2008-12-19T07:24:42.6-08:00",
      "Id": -2147483648
    },
    {
      "Message": "I will have difficulty producing a compatible zip64 implementation I think. I need the ability to generate zip64 files independently of DotNetZip, and then test the generated files in DotNetZip.  And vice versa.  But so far the only thing I found to produce zip64 is a perl module (IO::Compress::Zip) and it's zip64 support seems broken to me.  It is non-compliant with the spec, as far as I can tell. \r\n\r\nI need suggestions on how to go about testing this.  This is similar to the Unicode thing - without other zip tools and utilities to test against, I won't know if what I produce is compliant and compatible. \r\n\r\nsuggestions?\r\n",
      "PostedDate": "2008-12-19T11:23:54.553-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-12-19T12:58:30.227-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2008-12-19T22:01:25.677-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:44:38.253-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:32:36.807-07:00",
      "Id": -2147483648
    }
  ]
}