Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compression: Add support for Deflate64 #17802

Closed
ianhays opened this issue Jul 9, 2016 · 4 comments
Closed

Compression: Add support for Deflate64 #17802

ianhays opened this issue Jul 9, 2016 · 4 comments
Assignees
Milestone

Comments

@ianhays
Copy link
Contributor

ianhays commented Jul 9, 2016

We allow decompression of Zip64 zips but not if they contain entries compressed with Deflate64. This is somewhat problematic, as zips created by the Windows explorer utility that are >2gb are compressed using Deflate64.

ZLib doesn't support deflate64, so it would need to be our own implementation.

@ianhays ianhays self-assigned this Jul 9, 2016
@ianhays
Copy link
Contributor Author

ianhays commented Jul 11, 2016

Windows 7/8/10 all use Deflate64. The cutoff in zip size where it switches from Deflate to Deflate64 appears to be 2 gigs. The number of files within the zip is irrelevant to the compression type chosen e.g. one 2.5 gig file will be Deflate64’ed the same as 5 .5 gig files.

I’m having trouble finding any good information on the details of the actual format since it’s proprietary by PKWare and not frequently used. What I’ve read makes it sound like it’s nearly the exact same as deflate minus a few tweaks. We might be able to modify our old managed Deflate implementation to also work with Deflate64. That would cause it to (somewhat ironically) be inferior to vanilla deflate in decompress time, but at least we would have some kind of support for decompression.

@ianhays
Copy link
Contributor Author

ianhays commented Jul 11, 2016

One of our other options would be to add Adler's unsupported Deflate64 implementation to ClrCompression. That way we could avoid a non-performant managed implementation

The issue with that is it's a Windows-specific solution.

@stephentoub
Copy link
Member

@ianhays, this can be closed now, right?

@ianhays
Copy link
Contributor Author

ianhays commented Sep 4, 2016

@stephentoub yup!

@ianhays ianhays closed this as completed Sep 4, 2016
@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 1.1.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants