[ https://issues.apache.org/jira/browse/COMPRESS-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16315460#comment-16315460 ]
Dawid Weiss commented on COMPRESS-380: -------------------------------------- Hi Stefan. Seems to be this assertion causing this particular problem: {code} if (memory[start] == -1) { throw new IllegalStateException("Attempt to read beyond memory: dist=" + distance); } {code} {{memory}} is a byte array so {{0xff}} will trip this. I commented it out and the test passes then. I'd remove this check entirely (and Array.fill(-1) too). There are still plenty of other exceptions. For example the non-compressed block header fails to verify on len/nlen equality. I think this condition is wrong: {code} case 0: readBits(Byte.SIZE - 3); {code} because the spec says: {code} Any bits of input up to the next byte boundary are ignored. {code} and while it is true on the first block, it may not be on subsequent blocks (I think). The bit reader would have to be able to align to a byte boundary here. I didn't check for other errors (there's still quite a few of them), but the above is definitely a start for looking deeper. > Support for ENHANCED_DEFLATED (Deflate64) in ZIP files > ------------------------------------------------------ > > Key: COMPRESS-380 > URL: https://issues.apache.org/jira/browse/COMPRESS-380 > Project: Commons Compress > Issue Type: New Feature > Reporter: Dawid Weiss > Fix For: 1.16 > > Attachments: archive-deflate.zip, archive-deflate64.zip, archive.zip, > archive64.zip, compress-380.diff, hello.world, input2 > > > Some of the (large) ZIP files we try to process currently will throw this: > {code} > UnsupportedZipFeatureException: unsupported feature method > 'ENHANCED_DEFLATED' > {code} > which is a bummer since JDK's implementation also doesn't support Deflate64. > This seems to be PKWare's extensions, although code to decrypt it exists in > zlib (and is appropriately licensed, I believe). > https://github.com/madler/zlib/tree/master/contrib/infback9 -- This message was sent by Atlassian JIRA (v6.4.14#64029)