This is an automated email from the ASF dual-hosted git repository. tallison pushed a commit to branch branch_3_2x in repository https://gitbox.apache.org/repos/asf/tika.git
commit 42d4e9d06b48056667c45249d02ffa8e8ea5c180 Author: tallison <[email protected]> AuthorDate: Wed Sep 10 11:22:53 2025 -0400 TIKA-4469 -- backwards compatibility for versions of commons-compress before 1.28.0 --- .../tika/detect/zip/DefaultZipContainerDetector.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java index 1ea61d23b..7697b54e0 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/DefaultZipContainerDetector.java @@ -24,11 +24,13 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import org.apache.commons.compress.archivers.ArchiveException; import org.apache.commons.compress.archivers.ArchiveStreamFactory; import org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.commons.compress.compressors.CompressorException; import org.apache.commons.compress.compressors.CompressorStreamFactory; import org.apache.commons.io.IOUtils; import org.apache.commons.io.input.CloseShieldInputStream; @@ -119,9 +121,15 @@ public class DefaultZipContainerDetector implements Detector { return TIFF; } try { - String name = ArchiveStreamFactory.detect( - UnsynchronizedByteArrayInputStream.builder().setByteArray(prefix).setLength(length).get()); + String name = ArchiveStreamFactory.detect(UnsynchronizedByteArrayInputStream + .builder() + .setByteArray(prefix) + .setLength(length) + .get()); return PackageConstants.getMediaType(name); + } catch (ArchiveException e) { + //compress versions before 1.28.0 need this + return MediaType.OCTET_STREAM; } catch (IOException e) { return MediaType.OCTET_STREAM; } @@ -133,6 +141,9 @@ public class DefaultZipContainerDetector implements Detector { CompressorStreamFactory.detect( UnsynchronizedByteArrayInputStream.builder().setByteArray(prefix).setLength(length).get()); return CompressorConstants.getMediaType(type); + } catch (CompressorException e) { + //compress versions before 1.28.0 need this + return MediaType.OCTET_STREAM; } catch (IOException e) { return MediaType.OCTET_STREAM; }
