-
Notifications
You must be signed in to change notification settings - Fork 18k
compress/flate: add support for deflate64 compression #33023
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
Comments
CC @dsnet |
To amend my comment on the scarcity of open source implementations, it turns out zlib contains an implementation in their contrib directory: https://github.com/madler/zlib/blob/master/contrib/infback9/ |
This is issue actually less about However, I'm inclined to say that Given the fact that |
You're right, I should have filed this against Yes, it could absolutely live outside of the standard library, unfortunately right now there is no deflate64 implementation for Go, so it's not simply a matter of wiring one up to |
To be honest, I'm not sure deflate64 meets the bar for inclusion the standard library. The shared code argument alone is not sufficient. See https://golang.org/doc/faq#x_in_std |
It seems like there isn't a strong argument for deflate64 inclusion in the standard library, considering it's 1) proprietary and underspecified 2) not commonly used; also the owner of the flate package seems unconvinced, and no one else has spoken up, so I think we can close this "needsDecision" issue as WONTFIX. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yup
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Attempt to use
archive/zip.NewReader()
to open a ZIP archive containing files compressed with deflate64.What did you expect to see?
The archive is opened as seamlessly as if files were compressed with standard deflate.
What did you see instead?
zip: unsupported compression algorithm
I should note that deflate64 seems to be exceptionally poorly supported in the open source world, as a result of the scarcity of documentation from PKWARE (the originators of this algorithm), so I'd be understanding if Go also was not interested in supporting it. With that said, I'd find it exceptionally convenient if Go had native support for deflate64.
Wikipedia has a brief description of how deflate64 differs from deflate: https://en.wikipedia.org/wiki/DEFLATE#Deflate64/Enhanced_Deflate
The text was updated successfully, but these errors were encountered: