From 1b62a4bbb9fcda1509cf8e80de13331fc3324262 Mon Sep 17 00:00:00 2001
From: fstrba <>
Date: Feb 21 2024 16:59:56 +0000
Subject: Update apache-commons-compress to version 1.26.0 / rev 6 via SR 1148035
https://build.opensuse.org/request/show/1148035
by user fstrba + anag+factory
rpm 4.20 compat
---
diff --git a/.files b/.files
index 165a72e..f0520c5 100644
Binary files a/.files and b/.files differ
diff --git a/.rev b/.rev
index 7be0012..d022688 100644
--- a/.rev
+++ b/.rev
@@ -39,4 +39,12 @@
Remove dependency on asm3
963731
+
+ ee2965da1b6a9c700a9f5870fbaee928
+ 1.26.0
+
+ anag+factory
+ rpm 4.20 compat
+ 1148035
+
diff --git a/0001-Remove-Brotli-compressor.patch b/0001-Remove-Brotli-compressor.patch
index f733b34..c88bf34 100644
--- a/0001-Remove-Brotli-compressor.patch
+++ b/0001-Remove-Brotli-compressor.patch
@@ -1,17 +1,17 @@
-From bba585e9e4fdfc67de3b53b58b8d60923e1ccd0c Mon Sep 17 00:00:00 2001
+From 0b10cc9b13fa782b7e318fdbc0d8c790a472f722 Mon Sep 17 00:00:00 2001
From: Michael Simacek
Date: Mon, 12 Feb 2018 10:53:48 +0100
-Subject: [PATCH 1/2] Remove Brotli compressor
+Subject: [PATCH 1/3] Remove Brotli compressor
---
- .../commons/compress/compressors/CompressorStreamFactory.java | 7 +------
+ .../compress/compressors/CompressorStreamFactory.java | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-index d730b9d..ab178a9 100644
+index ca0973095..2406d5a44 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-@@ -31,8 +31,6 @@ import java.util.Set;
+@@ -30,8 +30,6 @@
import java.util.SortedMap;
import java.util.TreeMap;
@@ -20,7 +20,7 @@ index d730b9d..ab178a9 100644
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream;
-@@ -586,10 +584,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+@@ -545,10 +543,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
}
if (BROTLI.equalsIgnoreCase(name)) {
@@ -33,5 +33,5 @@ index d730b9d..ab178a9 100644
if (XZ.equalsIgnoreCase(name)) {
--
-2.14.3
+2.43.0
diff --git a/0002-Remove-ZSTD-compressor.patch b/0002-Remove-ZSTD-compressor.patch
index dbb7755..f629657 100644
--- a/0002-Remove-ZSTD-compressor.patch
+++ b/0002-Remove-ZSTD-compressor.patch
@@ -1,17 +1,17 @@
-From bab91e014f73296a8ac9a3aef2aaa324a85e9b96 Mon Sep 17 00:00:00 2001
+From d80b7b190c789c33a15f56613a21c44827a63c75 Mon Sep 17 00:00:00 2001
From: Michael Simacek
Date: Mon, 12 Feb 2018 10:59:55 +0100
-Subject: [PATCH 2/2] Remove ZSTD compressor
+Subject: [PATCH 2/3] Remove ZSTD compressor
---
- .../compress/compressors/CompressorStreamFactory.java | 14 ++------------
- 1 file changed, 2 insertions(+), 12 deletions(-)
+ .../compressors/CompressorStreamFactory.java | 22 ++++---------------
+ 1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-index ab178a9..3817704 100644
+index 2406d5a44..9ed40a3d7 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-@@ -54,9 +54,6 @@ import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
+@@ -53,9 +53,6 @@
import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream;
import org.apache.commons.compress.compressors.xz.XZUtils;
import org.apache.commons.compress.compressors.z.ZCompressorInputStream;
@@ -19,20 +19,40 @@ index ab178a9..3817704 100644
-import org.apache.commons.compress.compressors.zstandard.ZstdCompressorOutputStream;
-import org.apache.commons.compress.compressors.zstandard.ZstdUtils;
import org.apache.commons.compress.utils.IOUtils;
- import org.apache.commons.compress.utils.Lists;
- import org.apache.commons.compress.utils.ServiceLoaderIterator;
-@@ -516,10 +513,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+ import org.apache.commons.compress.utils.Sets;
+
+@@ -280,10 +277,6 @@ static String detect(final InputStream inputStream, final Set compressor
return LZ4_FRAMED;
}
-- if (ZstdUtils.matches(signature, signatureLength)) {
+- if (compressorNames.contains(ZSTANDARD) && ZstdUtils.matches(signature, signatureLength)) {
- return ZSTANDARD;
- }
-
throw new CompressorException("No Compressor found for the stream signature.");
}
- /**
-@@ -595,10 +588,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+
+@@ -405,10 +398,6 @@ public static String getZ() {
+ return Z;
+ }
+
+- public static String getZstandard() {
+- return ZSTANDARD;
+- }
+-
+ static void putAll(final Set names, final CompressorStreamProvider provider, final TreeMap map) {
+ names.forEach(name -> map.put(toKey(name), provider));
+ }
+@@ -513,7 +502,7 @@ public CompressorInputStream createCompressorInputStream(final InputStream in, f
+ * Creates a compressor input stream from a compressor name and an input stream.
+ *
+ * @param name of the compressor, i.e. {@value #GZIP}, {@value #BZIP2}, {@value #XZ}, {@value #LZMA}, {@value #PACK200}, {@value #SNAPPY_RAW},
+- * {@value #SNAPPY_FRAMED}, {@value #Z}, {@value #LZ4_BLOCK}, {@value #LZ4_FRAMED}, {@value #ZSTANDARD}, {@value #DEFLATE64} or
++ * {@value #SNAPPY_FRAMED}, {@value #Z}, {@value #LZ4_BLOCK}, {@value #LZ4_FRAMED}, {@value #DEFLATE64} or
+ * {@value #DEFLATE}
+ * @param in the input stream
+ * @return compressor input stream
+@@ -554,10 +543,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
}
if (ZSTANDARD.equalsIgnoreCase(name)) {
@@ -44,7 +64,16 @@ index ab178a9..3817704 100644
}
if (LZMA.equalsIgnoreCase(name)) {
-@@ -714,7 +704,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+@@ -614,7 +600,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
+ * Creates a compressor output stream from a compressor name and an output stream.
+ *
+ * @param name the compressor name, i.e. {@value #GZIP}, {@value #BZIP2}, {@value #XZ}, {@value #PACK200}, {@value #SNAPPY_FRAMED}, {@value #LZ4_BLOCK},
+- * {@value #LZ4_FRAMED}, {@value #ZSTANDARD} or {@value #DEFLATE}
++ * {@value #LZ4_FRAMED} or {@value #DEFLATE}
+ * @param out the output stream
+ * @return the compressor output stream
+ * @throws CompressorException if the archiver name is not known
+@@ -665,7 +651,7 @@ public CompressorOutputStream createCompressorOutputStream(final String name, fi
}
if (ZSTANDARD.equalsIgnoreCase(name)) {
@@ -54,5 +83,5 @@ index ab178a9..3817704 100644
} catch (final IOException e) {
throw new CompressorException("Could not create CompressorOutputStream", e);
--
-2.14.3
+2.43.0
diff --git a/0003-Remove-Pack200-compressor.patch b/0003-Remove-Pack200-compressor.patch
index 5aa1b14..2f9e4bd 100644
--- a/0003-Remove-Pack200-compressor.patch
+++ b/0003-Remove-Pack200-compressor.patch
@@ -1,17 +1,17 @@
-From 9937297a90b43a5e1238932eb8a07c44303056ed Mon Sep 17 00:00:00 2001
+From 77d08229cd95cc948a19996faa8515e0d77d7930 Mon Sep 17 00:00:00 2001
From: Marian Koncek
Date: Fri, 6 Aug 2021 13:42:40 +0200
-Subject: [PATCH] Remove Pack200 compressor
+Subject: [PATCH 3/3] Remove Pack200 compressor
---
.../compress/compressors/CompressorStreamFactory.java | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-index eee7c31..de7da23 100644
+index 9ed40a3d7..565aa519e 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
-@@ -45,8 +45,6 @@ import org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStre
+@@ -44,8 +44,6 @@
import org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream;
import org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream;
import org.apache.commons.compress.compressors.lzma.LZMAUtils;
@@ -20,18 +20,18 @@ index eee7c31..de7da23 100644
import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorInputStream;
import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorOutputStream;
import org.apache.commons.compress.compressors.snappy.SnappyCompressorInputStream;
-@@ -478,10 +476,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+@@ -249,10 +247,6 @@ static String detect(final InputStream inputStream, final Set compressor
return GZIP;
}
-- if (Pack200CompressorInputStream.matches(signature, signatureLength)) {
+- if (compressorNames.contains(PACK200) && Pack200CompressorInputStream.matches(signature, signatureLength)) {
- return PACK200;
- }
-
- if (FramedSnappyCompressorInputStream.matches(signature, signatureLength)) {
+ if (compressorNames.contains(SNAPPY_FRAMED) && FramedSnappyCompressorInputStream.matches(signature, signatureLength)) {
return SNAPPY_FRAMED;
}
-@@ -592,7 +586,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+@@ -554,7 +548,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
}
if (PACK200.equalsIgnoreCase(name)) {
@@ -40,7 +40,7 @@ index eee7c31..de7da23 100644
}
if (SNAPPY_RAW.equalsIgnoreCase(name)) {
-@@ -673,7 +667,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
+@@ -627,7 +621,7 @@ public CompressorOutputStream createCompressorOutputStream(final String name, fi
}
if (PACK200.equalsIgnoreCase(name)) {
@@ -50,5 +50,5 @@ index eee7c31..de7da23 100644
if (LZMA.equalsIgnoreCase(name)) {
--
-2.31.1
+2.43.0
diff --git a/apache-commons-compress-build.xml b/apache-commons-compress-build.xml
index ea273de..6e6e9d0 100644
--- a/apache-commons-compress-build.xml
+++ b/apache-commons-compress-build.xml
@@ -9,7 +9,7 @@
-
+
@@ -24,7 +24,8 @@
-
+
+
@@ -60,6 +61,7 @@
optimize="false"
deprecation="true"
target="${compiler.target}"
+ release="${compiler.release}"
verbose="false"
fork="false"
source="${compiler.source}">
diff --git a/apache-commons-compress.changes b/apache-commons-compress.changes
index 1213957..b8f2be9 100644
--- a/apache-commons-compress.changes
+++ b/apache-commons-compress.changes
@@ -1,4 +1,270 @@
-------------------------------------------------------------------
+Tue Feb 20 10:24:11 UTC 2024 - Dominique Leuenberger
+
+- Use %patch -P N instead of deprecated %patchN.
+
+-------------------------------------------------------------------
+Mon Feb 19 13:14:54 UTC 2024 - Fridrich Strba
+
+- Upgrade to 1.26
+ * Fixing several vulnerabilities
+ + bsc#1220068, CVE-2024-26308
+ + bsc#1220070, CVE-2024-25710
+ * New Features
+ + Add and use ZipFile.builder(), ZipFile.Builder, and deprecate
+ constructors
+ + Add and use SevenZFile.builder(), SevenZFile.Builder, and
+ deprecate constructors
+ + Add and use ArchiveInputStream.getCharset()
+ + Add and use ArchiveEntry.resolveIn(Path)
+ + Add Maven property project.build.outputTimestamp for build
+ reproducibility
+ * Fixed Bugs
+ + COMPRESS-632: Check for invalid PAX values in TarArchiveEntry
+ + COMPRESS-632: Fix for zero size headers in ArjInputStream
+ + COMPRESS-632: Fixes and tests for ArInputStream
+ + COMPRESS-632: Fixes for dump file parsing
+ + COMPRESS-632: Improve CPIO exception detection and handling
+ + Deprecate SkipShieldingInputStream without replacement (no
+ longer used)
+ + Reuse commons-codec, don't duplicate class PureJavaCrc32C
+ (removed package-private class)
+ + Reuse commons-codec, don't duplicate class XXHash32
+ (deprecated class)
+ + Reuse commons-io, don't duplicate class Charsets (deprecated
+ class)
+ + Reuse commons-io, don't duplicate class IOUtils (deprecated
+ methods)
+ + Reuse commons-io, don't duplicate class BoundedInputStream
+ (deprecated class)
+ + Reuse commons-io, don't duplicate class FileTimes (deprecated
+ TimeUtils methods)
+ + Reuse Arrays.equals(byte[], byte[]) and deprecate
+ ArchiveUtils.isEqual(byte[], byte[])
+ + Add a null-check for the class loader of OsgiUtils
+ + Add a null-check in Pack200.newInstance(String, String)
+ + Deprecate ChecksumCalculatingInputStream in favor of
+ java.util.zip.CheckedInputStream
+ + Deprecate CRC32VerifyingInputStream
+ .CRC32VerifyingInputStream(InputStream, long, int)
+ + COMPRESS-655: FramedSnappyCompressorOutputStream produces
+ incorrect output when writing a large buffer
+ + COMPRESS-657: Fix TAR directory entries being misinterpreted
+ as files
+ + Deprecate unused method FileNameUtils.getBaseName(String)
+ + Deprecate unused method FileNameUtils.getExtension(String)
+ + ArchiveInputStream.BoundedInputStream.read() incorrectly adds
+ 1 for EOF to the bytes read count
+ + Deprecate IOUtils.read(File, byte[])
+ + Deprecate IOUtils.copyRange(InputStream, long, OutputStream,
+ int)
+ + COMPRESS-653: ZipArchiveOutputStream multi archive updates
+ metadata in incorrect file
+ + Deprecate ByteUtils.InputStreamByteSupplier
+ + Deprecate ByteUtils.fromLittleEndian(InputStream, int)
+ + Deprecate ByteUtils.toLittleEndian(DataOutput, long, int)
+ + Reduce duplication by having ArchiveInputStream extend
+ FilterInputStream
+ + Support preamble garbage in ZipArchiveInputStream
+ + COMPRESS-658: Fix formatting the lowest expressable DOS time
+ + Drop reflection from ExtraFieldUtils static initialization
+ + Preserve exception causation in
+ ExtraFieldUtils.register(Class)
+- Upgrade to 1.25.0
+ * New features:
+ + Add GzipParameters.getFileName() and deprecate getFilename()
+ + Add GzipParameters.setFileName(String) and deprecate
+ setFilename(String)
+ + Add FileNameUtil.getCompressedFileName(String) and deprecate
+ getCompressedFilename(String)
+ + Add FileNameUtil.getUncompressedFileName(String) and deprecate
+ getUncompressedFilename(String)
+ + Add FileNameUtil.isCompressedFileName(String) and deprecate
+ isCompressedFilename(String)
+ + Add BZip2Utils.getCompressedFileName(String) and deprecate
+ getCompressedFilename(String)
+ + Add BZip2Utils.getUncompressedFileName(String) and deprecate
+ getUncompressedFilename(String)
+ + Add BZip2Utils.isCompressedFileName(String) and deprecate
+ isCompressedFilename(String)
+ + Add LZMAUtils.getCompressedFileName(String) and deprecate
+ getCompressedFilename(String)
+ + Add LZMAUtils.getUncompressedFileName(String) and deprecate
+ getUncompressedFilename(String)
+ + Add LZMAUtils.isCompressedFileName(String) and deprecate
+ isCompressedFilename(String)
+ + Add XYUtils.getCompressedFileName(String) and deprecate
+ getCompressedFilename(String)
+ + Add XYUtils.getUncompressedFileName(String) and deprecate
+ getUncompressedFilename(String)
+ + Add XYUtils.isCompressedFileName(String) and deprecate
+ isCompressedFilename(String)
+ + Add GzipUtils.getCompressedFileName(String) and deprecate
+ getCompressedFilename(String)
+ + Add GzipUtils.getUncompressedFileName(String) and deprecate
+ getUncompressedFilename(String)
+ + Add GzipUtils.isCompressedFileName(String) and deprecate
+ isCompressedFilename(String)
+ + Add SevenZOutputFile.putArchiveEntry(SevenZArchiveEntry) and
+ deprecate putArchiveEntry(ArchiveEntry)
+ + Add generics to ChangeSet and ChangeSetPerformer
+ + Add generics to ArchiveStreamProvider and friends
+ + Add a generic type parameter to ArchiveOutputStream and avoid
+ unchecked/unconfirmed type casts in subclasses
+ + Add a generic type parameter to ArchiveInputStream and
+ deprecate redundant get methods in subclasses
+ + COMPRESS-648: Add ability to restrict autodetection in
+ CompressorStreamFactory
+ * Fixed Bugs:
+ + Precompile regular expression in
+ ArArchiveInputStream.isBSDLongName(String)
+ + Precompile regular expression in
+ ArArchiveInputStream.isGNULongName(String)
+ + Precompile regular expression in
+ TarArchiveEntry.parseInstantFromDecimalSeconds(String)
+ + Precompile regular expression in
+ ChangeSet.addDeletion(Change)
+ + COMPRESS-649: Improve performance in
+ BlockLZ4CompressorOutputStream
+ + Null-guard Lister.main(String[]) for programmatic invocation
+ + NPE in pack200.NewAttributeBands.Reference
+ .addAttributeToBand(NewAttribute, InputStream)
+ + Incorrect lazy initialization and update of static field in
+ pack200.CodecEncoding.getSpecifier(Codec, Codec)
+ + Incorrect string comparison in unpack200.AttributeLayout
+ .numBackwardsCallables()
+ + Inefficient use of keySet iterator instead of entrySet
+ iterator in pack200.PackingOptions
+ .addOrUpdateAttributeActions(List, Map, int)
+ + Package private class pack200.IcBands.IcTuple should be a
+ static inner class
+ + Private class ZipFile.BoundedFileChannelInputStream should be
+ a static inner class
+ + Refactor internal SevenZ AES256SHA256Decoder InputStream into
+ a named static inner class
+ + Refactor internal SevenZ AES256SHA256Decoder OutputStream into
+ a named static inner class
+ + Use the root Locale for string conversion of command line
+ options in org.apache.commons.compress.archivers.sevenz.CLI
+ + Calling PackingUtils.config(PackingOptions) with null now
+ closes the internal FileHandler
+ + COMPRESS-650: LZ4 compressor throws IndexOutOfBoundsException
+ + COMPRESS-632: LZWInputStream.initializeTables(int) should
+ throw IllegalArgumentException instead of
+ ArrayIndexOutOfBoundsException
+ + COMPRESS-647: Throw IOException instead of
+ ArrayIndexOutOfBoundsException when reading Zip with data
+ descriptor entries
+- Update to 1.24.0
+ * New features:
+ + Make ZipArchiveEntry.getLocalHeaderOffset() public
+ * Fixed Bugs:
+ + Use try-with-resources in ArchiveStreamFactory
+ + Javadoc and code comments: Sanitize grammar issues and typos
+ + Remove redundant (null) initializations
+ + [StepSecurity] ci: Harden GitHub Actions
+- Update to 1.23.0
+ * New features:
+ + COMPRESS-614: Use FileTime for time fields in
+ SevenZipArchiveEntry
+ + COMPRESS-621: Fix calculation the offset of the first ZIP
+ central directory entry
+ + COMPRESS-633:Add encryption support for SevenZ
+ + COMPRESS-613: Support for extra time data in Zip archives
+ + COMPRESS-621: Add org.apache.commons.compress.archivers.zip
+ .DefaultBackingStoreSupplier to write to a custom folder
+ instead of the default temporary folder.
+ + COMPRESS-600: Add capability to configure Deflater strategy
+ in GzipCompressorOutputStream:
+ GzipParameters.setDeflateStrategy(int).
+ * Fixed Bugs:
+ + Implicit narrowing conversion in compound assignment
+ + Avoid NPE in FileNameUtils.getBaseName(Path) for paths with
+ zero elements like root paths
+ + Avoid NPE in FileNameUtils.getExtension(Path) for paths with
+ zero elements like root paths
+ + LZMA2Decoder.decode() looses original exception
+ + Extract conditions and avoid duplicate code.
+ + Remove duplicate conditions. Use switch instead.
+ + Replace JUnit 3 and 4 with JUnit 5
+ + Make 'ZipFile.offsetComparator' static
+ + COMPRESS-638: The GzipCompressorOutputStream#writeHeader()
+ uses ISO_8859_1 to write the file name and comment. If the
+ strings contains non-ISO_8859_1 characters, unknown characters
+ are displayed after decompression. Use percent encoding for
+ non ISO_8859_1 characters.
+ + Port some code from IO to NIO APIs
+ + pack200: Fix FileBands misusing InputStream#read(byte[])
+ + COMPRESS-641: Add TarArchiveEntry.getLinkFlag()
+ + COMPRESS-642: Integer overflow ArithmeticException in
+ TarArchiveOutputStream
+ + COMPRESS-642: org.apache.commons.compress.archivers.zip
+ .ZipFile.finalize() should not write to std err.
+ * Removed:
+ + Remove BZip2CompressorOutputStream.finalize() which only wrote
+ to std err
+- Update to 1.22
+ * New features:
+ + COMPRESS-602: Migrate zip package to use NIO
+ + Add APK file extension constants: ArchiveStreamFactory.APK,
+ APKM, APKS, XAPK
+ + ArchiveStreamFactory.createArchiveInputStream(String,
+ InputStream, String) supports the "APK" format (it's a JAR)
+ + Expander example now has NIO Path versions of IO File APIs
+ + COMPRESS-612: Improve TAR support for file times
+ + Add SevenZArchiveEntry.setContentMethods(SevenZMethodConfiguration...)
+ * Fixed Bugs:
+ + Fix some compiler warnings in pack200 packages
+ + Close File input stream after unpacking in
+ Pack200UnpackerAdapter.unpack(File, JarOutputStream)
+ + Pack200UnpackerAdapter.unpack(InputStream, JarOutputStream)
+ should not close its given input stream
+ + COMPRESS-596: Fix minor problem in examples.
+ + COMPRESS-584: Add a limit to the copy buffer in
+ IOUtils.readRange() to avoid reading more from a channel than
+ asked for
+ + Documentation nits
+ + Replace wrapper Collections.sort is with an instance method
+ directly
+ + Replace manual comparisons with Comparator.comparingInt()
+ + Replace manual copy of array contents with System.arraycopy()
+ + Fix thread safety issues when encoding 7z password
+ + bzip2: calculate median-of-3 on unsigned values
+ + Use Math.min and Math.max calculations.
+ + COMPRESS-603: Expander should be able to work if an entry's
+ name is "./".
+ + COMPRESS-604: Ensure compatibility with Java 8
+ + Use StringBuilder instead of StringBuffer.
+ + Inline variable. Remove redundant local variable.
+ + Use compare method
+ + Remove Unnecessary interface modifiers
+ + Avoid use C-style array declaration.
+ + ChecksumVerifyingInputStream.read() does not always validate
+ checksum at end-of-stream
+ + Fix TarFileTest
+ + COMPRESS-625: Update Wikipedia link in TarUtils.java:627.
+ + COMPRESS-626: OutOfMemoryError on malformed pack200 input
+ (attributes).
+ + COMPRESS-628: OutOfMemoryError on malformed pack200 input
+ (org.apache.commons.compress.harmony.pack200.NewAttributeBands
+ .readNextUnionCase).
+ + COMPRESS-628: OutOfMemoryError on malformed unpack200 input
+ (org.apache.commons.compress.harmony.unpack200
+ .NewAttributeBands.readNextUnionCase).
+ + Some input streams are not closed in org.apache.commons
+ .compress.harmony.pack200.PackingUtils
+ + COMPRESS-627: Pack200 causes a 'archive.3E' error if it's not
+ in the system class loader.
+- Modified patches:
+ * 0001-Remove-Brotli-compressor.patch
+ * 0002-Remove-ZSTD-compressor.patch
+ * 0003-Remove-Pack200-compressor.patch
+ + rediff to changed context
+- Removed patch:
+ * fix_java_8_compatibility.patch
+ + not needed, since we handle the compatibility differently
+
+-------------------------------------------------------------------
Mon Mar 21 08:57:33 UTC 2022 - Fridrich Strba
- Added patch:
@@ -100,7 +366,7 @@ Fri May 19 16:04:30 UTC 2017 - tchvatal@suse.com
-------------------------------------------------------------------
Thu Nov 29 14:57:33 UTC 2012 - mvyskocil@suse.com
-- use saxon and saxon-scripts only when using maven
+- use saxon and saxon-scripts only when using maven
-------------------------------------------------------------------
Thu May 14 16:05:37 CEST 2009 - mvyskocil@suse.cz
diff --git a/apache-commons-compress.spec b/apache-commons-compress.spec
index 8a2e0a9..7b05249 100644
--- a/apache-commons-compress.spec
+++ b/apache-commons-compress.spec
@@ -1,7 +1,7 @@
#
-# spec file
+# spec file for package apache-commons-compress
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,23 +19,23 @@
%global base_name compress
%global short_name commons-%{base_name}
Name: apache-%{short_name}
-Version: 1.21
+Version: 1.26.0
Release: 0
Summary: Java API for working with compressed files and archivers
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://commons.apache.org/proper/commons-compress/
-Source0: http://archive.apache.org/dist/commons/compress/source/%{short_name}-%{version}-src.tar.gz
-Source1: http://archive.apache.org/dist/commons/compress/source/%{short_name}-%{version}-src.tar.gz.asc
-Source2: %{name}-build.xml
+Source0: https://archive.apache.org/dist/commons/compress/source/%{short_name}-%{version}-src.tar.gz
+Source1: %{name}-build.xml
Patch0: 0001-Remove-Brotli-compressor.patch
Patch1: 0002-Remove-ZSTD-compressor.patch
Patch2: 0003-Remove-Pack200-compressor.patch
-Patch3: fix_java_8_compatibility.patch
BuildRequires: ant
+BuildRequires: commons-codec
+BuildRequires: commons-io >= 2.14
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
-BuildRequires: javapackages-local
+BuildRequires: javapackages-local >= 6
BuildRequires: xz-java
Provides: %{short_name} = %{version}-%{release}
Obsoletes: %{short_name} < %{version}-%{release}
@@ -58,43 +58,34 @@ This package provides %{summary}.
%prep
%setup -q -n %{short_name}-%{version}-src
-cp %{SOURCE2} build.xml
+cp %{SOURCE1} build.xml
# Unavailable Google Brotli library (org.brotli.dec)
-%patch0 -p1
+%patch -P 0 -p1
%pom_remove_dep org.brotli:dec
rm -r src/{main,test}/java/org/apache/commons/compress/compressors/brotli
# Unavailable ZSTD JNI library
-%patch1 -p1
+%patch -P 1 -p1
%pom_remove_dep :zstd-jni
rm -r src/{main,test}/java/org/apache/commons/compress/compressors/zstandard
-rm src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
# Remove support for pack200 which depends on ancient asm:asm:3.2
-%patch2 -p1
-%pom_remove_dep asm:asm
+%patch -P 2 -p1
rm -r src/{main,test}/java/org/apache/commons/compress/harmony
rm -r src/main/java/org/apache/commons/compress/compressors/pack200
rm src/main/java/org/apache/commons/compress/java/util/jar/Pack200.java
-rm src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
rm -r src/test/java/org/apache/commons/compress/compressors/pack200
rm src/test/java/org/apache/commons/compress/java/util/jar/Pack200Test.java
-# Restore Java 8 compatibility
-%patch3 -p1
-
# NPE with jdk10
%pom_remove_plugin :maven-javadoc-plugin
%pom_xpath_remove "pom:profiles/pom:profile[pom:id[text()='java9+']]"
-%pom_remove_parent .
-%pom_xpath_inject "pom:project" "org.apache.commons" .
-
%build
mkdir -p lib
-build-jar-repository -s lib xz-java
+build-jar-repository -s lib xz-java commons-io commons-codec
%{ant} package javadoc
%install
@@ -104,7 +95,7 @@ install -pm 0644 target/%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{s
ln -sf %{short_name}.jar %{buildroot}%{_javadir}/%{name}.jar
# pom
install -dm 0755 %{buildroot}%{_mavenpomdir}
-install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{short_name}.pom
+%{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{short_name}.pom
%add_maven_depmap %{short_name}.pom %{short_name}.jar -a commons:commons-compress,commons-compress:commons-compress
# javadoc
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
diff --git a/commons-compress-1.21-src.tar.gz b/commons-compress-1.21-src.tar.gz
deleted file mode 120000
index 56ac166..0000000
--- a/commons-compress-1.21-src.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiciwl4mtqhkcpobxcpat6rkg7fbpidfmkuu6cqffwipvzm4o6kb74
\ No newline at end of file
diff --git a/commons-compress-1.21-src.tar.gz.asc b/commons-compress-1.21-src.tar.gz.asc
deleted file mode 100644
index 6a68918..0000000
--- a/commons-compress-1.21-src.tar.gz.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iHEEABEKADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCYOiAPBMcYm9kZXdpZ0Bh
-cGFjaGUub3JnAAoJEKIRWuFfa4tyyNwAn1RAMciW7Os/lbwCiQ/RJ64GL+LSAKDB
-7ZWg3nXsSSAnuN7K/3doWvLkLQ==
-=iHWA
------END PGP SIGNATURE-----
diff --git a/commons-compress-1.26.0-src.tar.gz b/commons-compress-1.26.0-src.tar.gz
new file mode 120000
index 0000000..48aaca8
--- /dev/null
+++ b/commons-compress-1.26.0-src.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeigyarhy5scot5wplk3zezrmmqznawjg53io4k45yyw3lhzh7775hu
\ No newline at end of file
diff --git a/fix_java_8_compatibility.patch b/fix_java_8_compatibility.patch
deleted file mode 100644
index 6717639..0000000
--- a/fix_java_8_compatibility.patch
+++ /dev/null
@@ -1,441 +0,0 @@
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java 2021-07-19 16:32:46.529020782 +0200
-@@ -19,6 +19,7 @@
-
- import java.io.IOException;
- import java.io.InputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.channels.SeekableByteChannel;
-
-@@ -83,7 +84,7 @@
- } else {
- buf = ByteBuffer.allocate(bytesToRead);
- bytesRead = channel.read(buf);
-- buf.flip();
-+ ((Buffer)buf).flip();
- }
- if (bytesRead >= 0) {
- buf.get(b, off, bytesRead);
-@@ -93,9 +94,9 @@
- }
-
- private int read(final int len) throws IOException {
-- buffer.rewind().limit(len);
-+ ((Buffer)buffer).rewind().limit(len);
- final int read = channel.read(buffer);
-- buffer.flip();
-+ ((Buffer)buffer).flip();
- return read;
- }
-
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java 2021-07-19 16:20:02.675782684 +0200
-@@ -26,6 +26,7 @@
- import java.io.FilterInputStream;
- import java.io.IOException;
- import java.io.InputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.ByteOrder;
- import java.nio.CharBuffer;
-@@ -499,7 +500,7 @@
- while (pos > minPos) {
- pos--;
- channel.position(pos);
-- nidBuf.rewind();
-+ ((Buffer)nidBuf).rewind();
- if (channel.read(nidBuf) < 1) {
- throw new EOFException();
- }
-@@ -2016,9 +2017,9 @@
- }
-
- private void readFully(final ByteBuffer buf) throws IOException {
-- buf.rewind();
-+ ((Buffer)buf).rewind();
- IOUtils.readFully(channel, buf);
-- buf.flip();
-+ ((Buffer)buf).flip();
- }
-
- @Override
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java 2021-07-19 16:14:03.565317437 +0200
-@@ -26,6 +26,7 @@
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.ByteOrder;
- import java.nio.channels.SeekableByteChannel;
-@@ -341,7 +342,7 @@
- crc32.reset();
- crc32.update(bb.array(), SevenZFile.sevenZSignature.length + 6, 20);
- bb.putInt(SevenZFile.sevenZSignature.length + 2, (int) crc32.getValue());
-- bb.flip();
-+ ((Buffer)bb).flip();
- channel.write(bb);
- }
-
-@@ -826,7 +827,7 @@
- private final ByteBuffer buffer = ByteBuffer.allocate(BUF_SIZE);
- @Override
- public void write(final int b) throws IOException {
-- buffer.clear();
-+ ((Buffer)buffer).clear();
- buffer.put((byte) b).flip();
- channel.write(buffer);
- compressedCrc32.update(b);
-@@ -844,7 +845,7 @@
- if (len > BUF_SIZE) {
- channel.write(ByteBuffer.wrap(b, off, len));
- } else {
-- buffer.clear();
-+ ((Buffer)buffer).clear();
- buffer.put(b, off, len).flip();
- channel.write(buffer);
- }
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java 2021-07-19 16:14:03.565317437 +0200
-@@ -20,6 +20,7 @@
- package org.apache.commons.compress.archivers.zip;
-
- import java.io.IOException;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.CharBuffer;
- import java.nio.charset.Charset;
-@@ -121,8 +122,8 @@
- enc.encode(cb, out, true);
- // may have caused underflow, but that's been ignored traditionally
-
-- out.limit(out.position());
-- out.rewind();
-+ ((Buffer)out).limit(out.position());
-+ ((Buffer)out).rewind();
- return out;
- }
-
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java 2021-07-19 16:14:03.565317437 +0200
-@@ -25,6 +25,7 @@
- import java.io.InputStream;
- import java.io.PushbackInputStream;
- import java.math.BigInteger;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.util.Arrays;
- import java.util.zip.CRC32;
-@@ -256,7 +257,7 @@
- allowStoredEntriesWithDataDescriptor;
- this.skipSplitSig = skipSplitSig;
- // haven't read anything so far
-- buf.limit(0);
-+ ((Buffer)buf).limit(0);
- }
-
- public ZipArchiveEntry getNextZipEntry() throws IOException {
-@@ -596,13 +597,13 @@
- }
-
- if (buf.position() >= buf.limit()) {
-- buf.position(0);
-+ ((Buffer)buf).position(0);
- final int l = in.read(buf.array());
- if (l == -1) {
-- buf.limit(0);
-+ ((Buffer)buf).limit(0);
- throw new IOException("Truncated ZIP file");
- }
-- buf.limit(l);
-+ ((Buffer)buf).limit(l);
-
- count(l);
- current.bytesReadFromStream += l;
-@@ -795,7 +796,7 @@
- }
-
- inf.reset();
-- buf.clear().flip();
-+ ((Buffer)buf).clear().flip();
- current = null;
- lastStoredEntry = null;
- }
-@@ -860,7 +861,7 @@
- }
- final int length = in.read(buf.array());
- if (length > 0) {
-- buf.limit(length);
-+ ((Buffer)buf).limit(length);
- count(buf.limit());
- inf.setInput(buf.array(), 0, buf.limit());
- }
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java 2021-07-19 16:29:53.519835167 +0200
-@@ -18,6 +18,7 @@
-
- package org.apache.commons.compress.archivers.zip;
-
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.charset.Charset;
- import java.nio.charset.StandardCharsets;
-@@ -85,8 +86,8 @@
- }
-
- static ByteBuffer growBufferBy(final ByteBuffer buffer, final int increment) {
-- buffer.limit(buffer.position());
-- buffer.rewind();
-+ ((Buffer)buffer).limit(buffer.position());
-+ ((Buffer)buffer).rewind();
-
- final ByteBuffer on = ByteBuffer.allocate(buffer.capacity() + increment);
-
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java 2021-07-19 16:28:13.175147502 +0200
-@@ -25,6 +25,7 @@
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.SequenceInputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.channels.FileChannel;
- import java.nio.channels.SeekableByteChannel;
-@@ -713,7 +714,7 @@
- positionAtCentralDirectory();
- centralDirectoryStartOffset = archive.position();
-
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- long sig = ZipLong.getValue(wordBuf);
-
-@@ -724,7 +725,7 @@
-
- while (sig == CFH_SIG) {
- readCentralDirectoryEntry(noUTF8Flag);
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- sig = ZipLong.getValue(wordBuf);
- }
-@@ -743,7 +744,7 @@
- private void
- readCentralDirectoryEntry(final Map noUTF8Flag)
- throws IOException {
-- cfhBbuf.rewind();
-+ ((Buffer)cfhBbuf).rewind();
- IOUtils.readFully(archive, cfhBbuf);
- int off = 0;
- final Entry ze = new Entry();
-@@ -1100,7 +1101,7 @@
- archive.position() > ZIP64_EOCDL_LENGTH;
- if (searchedForZip64EOCD) {
- archive.position(archive.position() - ZIP64_EOCDL_LENGTH);
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- found = Arrays.equals(ZipArchiveOutputStream.ZIP64_EOCD_LOC_SIG,
- wordBuf);
-@@ -1128,11 +1129,11 @@
- private void positionAtCentralDirectory64()
- throws IOException {
- if (isSplitZipArchive) {
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- final long diskNumberOfEOCD = ZipLong.getValue(wordBuf);
-
-- dwordBbuf.rewind();
-+ ((Buffer)dwordBbuf).rewind();
- IOUtils.readFully(archive, dwordBbuf);
- final long relativeOffsetOfEOCD = ZipEightByteInteger.getLongValue(dwordBuf);
- ((ZipSplitReadOnlySeekableByteChannel) archive)
-@@ -1140,12 +1141,12 @@
- } else {
- skipBytes(ZIP64_EOCDL_LOCATOR_OFFSET
- - WORD /* signature has already been read */);
-- dwordBbuf.rewind();
-+ ((Buffer)dwordBbuf).rewind();
- IOUtils.readFully(archive, dwordBbuf);
- archive.position(ZipEightByteInteger.getLongValue(dwordBuf));
- }
-
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- if (!Arrays.equals(wordBuf, ZipArchiveOutputStream.ZIP64_EOCD_SIG)) {
- throw new ZipException("Archive's ZIP64 end of central "
-@@ -1155,13 +1156,13 @@
- if (isSplitZipArchive) {
- skipBytes(ZIP64_EOCD_CFD_DISK_OFFSET
- - WORD /* signature has already been read */);
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- centralDirectoryStartDiskNumber = ZipLong.getValue(wordBuf);
-
- skipBytes(ZIP64_EOCD_CFD_LOCATOR_RELATIVE_OFFSET);
-
-- dwordBbuf.rewind();
-+ ((Buffer)dwordBbuf).rewind();
- IOUtils.readFully(archive, dwordBbuf);
- centralDirectoryStartRelativeOffset = ZipEightByteInteger.getLongValue(dwordBuf);
- ((ZipSplitReadOnlySeekableByteChannel) archive)
-@@ -1169,7 +1170,7 @@
- } else {
- skipBytes(ZIP64_EOCD_CFD_LOCATOR_OFFSET
- - WORD /* signature has already been read */);
-- dwordBbuf.rewind();
-+ ((Buffer)dwordBbuf).rewind();
- IOUtils.readFully(archive, dwordBbuf);
- centralDirectoryStartDiskNumber = 0;
- centralDirectoryStartRelativeOffset = ZipEightByteInteger.getLongValue(dwordBuf);
-@@ -1188,20 +1189,20 @@
- throws IOException {
- if (isSplitZipArchive) {
- skipBytes(CFD_DISK_OFFSET);
-- shortBbuf.rewind();
-+ ((Buffer)shortBbuf).rewind();
- IOUtils.readFully(archive, shortBbuf);
- centralDirectoryStartDiskNumber = ZipShort.getValue(shortBuf);
-
- skipBytes(CFD_LOCATOR_RELATIVE_OFFSET);
-
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- centralDirectoryStartRelativeOffset = ZipLong.getValue(wordBuf);
- ((ZipSplitReadOnlySeekableByteChannel) archive)
- .position(centralDirectoryStartDiskNumber, centralDirectoryStartRelativeOffset);
- } else {
- skipBytes(CFD_LOCATOR_OFFSET);
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- centralDirectoryStartDiskNumber = 0;
- centralDirectoryStartRelativeOffset = ZipLong.getValue(wordBuf);
-@@ -1238,9 +1239,9 @@
- for (; off >= stopSearching; off--) {
- archive.position(off);
- try {
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
-- wordBbuf.flip();
-+ ((Buffer)wordBbuf).flip();
- } catch (final EOFException ex) { // NOSONAR
- break;
- }
-@@ -1352,9 +1353,9 @@
- } else {
- archive.position(offset + LFH_OFFSET_FOR_FILENAME_LENGTH);
- }
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
-- wordBbuf.flip();
-+ ((Buffer)wordBbuf).flip();
- wordBbuf.get(shortBuf);
- final int fileNameLen = ZipShort.getValue(shortBuf);
- wordBbuf.get(shortBuf);
-@@ -1382,7 +1383,7 @@
- */
- private boolean startsWithLocalFileHeader() throws IOException {
- archive.position(0);
-- wordBbuf.rewind();
-+ ((Buffer)wordBbuf).rewind();
- IOUtils.readFully(archive, wordBbuf);
- return Arrays.equals(wordBuf, ZipArchiveOutputStream.LFH_SIG);
- }
-@@ -1418,7 +1419,7 @@
- @Override
- protected int read(final long pos, final ByteBuffer buf) throws IOException {
- final int read = archive.read(buf, pos);
-- buf.flip();
-+ ((Buffer)buf).flip();
- return read;
- }
- }
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java 2021-07-19 16:16:51.850472686 +0200
-@@ -21,6 +21,7 @@
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.ByteOrder;
- import java.nio.channels.ClosedChannelException;
-@@ -88,7 +89,7 @@
- }
-
- private void writeBlock() throws IOException {
-- buffer.flip();
-+ ((Buffer)buffer).flip();
- final int i = out.write(buffer);
- final boolean hasRemaining = buffer.hasRemaining();
- if (i != blockSize || hasRemaining) {
-@@ -97,7 +98,7 @@
- blockSize, i);
- throw new IOException(msg);
- }
-- buffer.clear();
-+ ((Buffer)buffer).clear();
- }
-
- @Override
-@@ -142,7 +143,7 @@
- // fill up the reset of buffer and write the block.
- if (buffer.position() != 0) {
- final int n = buffer.remaining();
-- src.limit(src.position() + n);
-+ ((Buffer)src).limit(src.position() + n);
- buffer.put(src);
- writeBlock();
- srcLeft -= n;
-@@ -150,12 +151,12 @@
- // whilst we have enough bytes in src for complete blocks,
- // write them directly from src without copying them to buffer
- while (srcLeft >= blockSize) {
-- src.limit(src.position() + blockSize);
-+ ((Buffer)src).limit(src.position() + blockSize);
- out.write(src);
- srcLeft -= blockSize;
- }
- // copy any remaining bytes into buffer
-- src.limit(savedLimit);
-+ ((Buffer)src).limit(savedLimit);
- buffer.put(src);
- }
- return srcRemaining;
-@@ -242,7 +243,7 @@
- final int pos = buffer.position();
- final int len = buffer.limit() - pos;
- out.write(buffer.array(), buffer.arrayOffset() + pos, len);
-- buffer.position(buffer.limit());
-+ ((Buffer)buffer).position(buffer.limit());
- return len;
- } catch (final IOException e) {
- try {
---- commons-compress-1.21-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java 2020-01-22 16:10:15.000000000 +0100
-+++ commons-compress-1.21-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java 2021-07-19 17:09:11.659891748 +0200
-@@ -25,6 +25,7 @@
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
-+import java.nio.Buffer;
- import java.nio.ByteBuffer;
- import java.nio.channels.ReadableByteChannel;
- import java.nio.file.Files;
-@@ -372,7 +373,7 @@
- break;
- }
- output.write(b.array(), 0, readNow);
-- b.rewind();
-+ ((Buffer)b).rewind();
- read += readNow;
- }
- return output.toByteArray();