Commit Graph

814 Commits

Author SHA1 Message Date
Adam Hathcock
51acd43b16 Merge branch 'release' into adam/master-release 2026-04-19 11:25:39 +01:00
Copilot
20932b81b5 Fix SevenZipArchive.IsSolidAsync() always returning false (#1284)
* Initial plan

* Fix IsSolidAsync() returning false for 7z solid archives

SevenZipArchive was missing an override for IsSolidAsync(), so the
base class default (always returning false) was used. Added an override
that uses the same logic as the sync IsSolid property: load entries
asynchronously and check if any folder has more than one file.

Also updated existing async tests to use IsSolidAsync() instead of
casting to SevenZipArchive to call the sync IsSolid, and added a new
SevenZipArchive_TestSolidDetectionAsync test that mirrors the existing
sync SevenZipArchive_TestSolidDetection test.

Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/60f8daec-e784-4845-a65c-5a493fbb53ef

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-13 16:59:23 +01:00
Adam Hathcock
2487d8995c Merge remote-tracking branch 'origin/adam/pooledmemorystream' into adam/pooledmemorystream
# Conflicts:
#	src/SharpCompress/IO/PooledMemoryStream.cs
2026-04-05 15:26:18 +01:00
Adam Hathcock
d1e6173b50 remove contiguous buffer tracking and added overrenting array pool test 2026-04-05 15:25:33 +01:00
Adam Hathcock
e7cacdd7ee don't resize ring buffer 2026-04-05 15:19:44 +01:00
Adam Hathcock
fb78598516 implement GetBuffer with non-pooled array creation 2026-04-05 15:16:00 +01:00
Adam Hathcock
4f09c6dc00 Update tests/SharpCompress.Test/Streams/PooledMemoryStreamTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:57:04 +01:00
Adam Hathcock
c25fec313e fix PooledMemoryStream.cs 2026-04-05 14:39:15 +01:00
Adam Hathcock
c01dd5cd90 Update tests/SharpCompress.Test/Streams/PooledMemoryStreamTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:16:47 +01:00
Adam Hathcock
2bf007542a cleaned up PooledMemoryStream.cs 2026-04-04 11:10:43 +01:00
Adam Hathcock
b326b719bc Merge branch 'release' into adam/master-release
# Conflicts:
#	src/SharpCompress/packages.lock.json
2026-04-04 10:50:12 +01:00
Adam Hathcock
817bd2a95e First pass of implementation 2026-04-04 10:44:23 +01:00
Adam Hathcock
5758b08236 Merge pull request #1272 from adamhathcock/copilot/fix-decompression-bomb-and-crash-bugs
Fix fuzzer-found decompression bomb and crash bugs
2026-04-03 13:05:55 +01:00
copilot-swe-agent[bot]
669fbed62b Dynamic ring buffer sizing for BZip2 and ZStandard on non-seekable streams
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/b115976a-5d8a-412e-a462-72b4531f2d0a

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-02 10:56:50 +00:00
copilot-swe-agent[bot]
58bec11b2c Fix decompression bomb and crash bugs (fuzzer-found)
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/84b02876-db79-41ed-875b-f1c7dbe5d8e2

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-02 09:49:27 +00:00
Adam Hathcock
fefeed0601 Merge pull request #1267 from adamhathcock/release
Release to master
2026-03-28 09:53:45 +00:00
Adam Hathcock
a3a7098ed2 Fix MalformedInputTests.cs so that it's not running in legacy 2026-03-23 11:54:17 +00:00
copilot-swe-agent[bot]
243bf00308 Address code review: fix HbCreateDecodeTables off-by-one, rename test helper
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3037a2f7-f243-4261-802f-e8c83b4d6722
2026-03-23 10:03:14 +00:00
copilot-swe-agent[bot]
f038652d3b Fix multiple decompressor crashes on malformed input (IOOB, DivByZero, NullRef)
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3037a2f7-f243-4261-802f-e8c83b4d6722
2026-03-23 09:55:55 +00:00
Daniel Sabel
642371f87e fixes .net 4.8 build for WinzipAesCryptoStream tests 2026-03-16 08:04:06 +01:00
Adam Hathcock
63e83dff5d Update tests/SharpCompress.Test/Zip/ZipFilePartTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-11 11:53:10 +00:00
Daniel Sabel
5fc0d691cf fixes xor range on async WinzipAesCryptoStream path 2026-03-11 08:57:47 +01:00
Daniel Sabel
03aef9e4c1 update test to reflect smaller test zip 2026-03-09 14:04:17 +01:00
Daniel Sabel
51859f9a2b fixes decompression of large mixed encrypted zip files 2026-03-09 14:02:31 +01:00
Adam Hathcock
15d6d3c641 Merge remote-tracking branch 'origin/master' into adam/api-clean-up 2026-03-06 15:12:56 +00:00
Adam Hathcock
04d1a10114 don't use static scratch directory for tests. Throw exception when test can't clean up 2026-03-06 14:58:04 +00:00
Adam Hathcock
9050a7a64a remove extra creates 2026-03-06 11:43:44 +00:00
Adam Hathcock
f34ed8bd94 first commit for conslidating publci api 2026-03-06 11:22:09 +00:00
Adam Hathcock
7c0e3d584a Update test dependencies 2026-03-03 17:01:21 +00:00
Adam Hathcock
1d07f4e1ca Merge pull request #1237 from adamhathcock/copilot/fix-zip-extraction-error
Fix DataErrorException when extracting LZMA-compressed zero-byte ZIP entries
2026-03-03 16:21:11 +00:00
Adam Hathcock
0910f20c90 renamed to ReaderOptions.ForFilePath 2026-03-03 12:40:58 +00:00
Adam Hathcock
ba1cd66336 First pass of moving extraction options back 2026-03-02 07:00:33 +00:00
copilot-swe-agent[bot]
75d2b70f20 Fix DataErrorException when extracting 0-size LZMA ZIP entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-27 22:06:18 +00:00
Adam Hathcock
50e8c66c27 Add async 7z writing 2026-02-25 16:39:22 +00:00
Adam Hathcock
543c33e26b fmt 2026-02-24 17:09:32 +00:00
D. B.
3e35d7e6b4 Merge branch 'adamhathcock:master' into feature/sevenzip-writer-lzma2-new 2026-02-22 23:02:09 -06:00
Daniil Bystrukhin
d82cf8f911 Merge feature/sevenzip-writer-lzma - use CompressionType enum, default LZMA2 2026-02-22 21:19:13 -06:00
Daniil Bystrukhin
bcf628568c Replace IsLzma2 flag with CompressionType enum for 7z writer API consistency 2026-02-22 21:08:34 -06:00
Adam Hathcock
0d913f6bbc some code fixes 2026-02-22 13:19:04 +00:00
Adam Hathcock
f766213d06 Merge branch 'master' into adam/writers-should-async
# Conflicts:
#	src/SharpCompress/Writers/WriterOptionsExtensions.cs
#	tests/SharpCompress.Test/GZip/GZipWriterAsyncTests.cs
#	tests/SharpCompress.Test/WriterTests.cs
2026-02-22 10:45:17 +00:00
Adam Hathcock
19d11b0882 post-merge restore 2026-02-22 10:43:37 +00:00
Adam Hathcock
f0db93c8c2 Merge remote-tracking branch 'origin/release' 2026-02-22 10:42:55 +00:00
Daniil Bystrukhin
6893a68559 Add LZMA2 encoding support for 7z writer 2026-02-21 23:13:40 -06:00
Daniil Bystrukhin
5e8ea67e21 Add 7z writer with LZMA compression support 2026-02-21 23:12:38 -06:00
Nanook
caac8ef802 Added Net7.0 / Net 6.0 / Net 5.0 and NetStandard2.1 2026-02-21 01:34:40 +00:00
Adam Hathcock
c5200c299c Downgrade dependencies for legacy frameworks 2026-02-17 13:32:34 +00:00
Adam Hathcock
eb844e8016 Fixed some exception tests 2026-02-16 16:29:20 +00:00
Adam Hathcock
855d4b4ce2 Use more SC exceptions instead of generic ones 2026-02-16 12:40:07 +00:00
Adam Hathcock
f533b6321e last style changes for now 2026-02-16 11:20:28 +00:00
Adam Hathcock
eca7bcb515 more clean up 2026-02-16 10:58:01 +00:00