Commit graph

2610 commits

Author SHA1 Message Date
Adam Hathcock
6e59c7d7bb
Merge pull request #1313 from adamhathcock/adam/zip-slip-fix
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 8s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
2026-05-05 18:11:46 +01:00
Adam Hathcock
7de1f07597 revert change that made no sense 2026-05-05 17:58:36 +01:00
Adam Hathcock
5f16216a3f review and test fixes 2026-05-05 17:48:39 +01:00
Adam Hathcock
2c35d2d242 made methods extension methods for IEntry 2026-05-05 17:30:02 +01:00
Adam Hathcock
bd0fa73cce some refactoring 2026-05-05 17:22:53 +01:00
Adam Hathcock
8d6f1014f0 consolidate path comparsion 2026-05-05 17:02:28 +01:00
Adam Hathcock
3b29de3954 test clean up and formatting 2026-05-05 16:57:15 +01:00
Adam Hathcock
2021a06626 add zipslip tests and fixes 2026-05-05 16:52:16 +01:00
Adam Hathcock
a3772608f3
Merge pull request #1306 from adamhathcock/adam/fix-sync-methods-in-async-api
Fix sync methods called in async RAR unpacker paths (Unpack29Async, U…
2026-04-28 12:19:52 +01:00
Adam Hathcock
c629dc5903 format Unpack 2026-04-28 11:03:08 +01:00
Adam Hathcock
4f41b6f793 review fix 2026-04-28 10:28:50 +01:00
Adam Hathcock
9156a75c56 pool arrays 2026-04-28 10:26:18 +01:00
Adam Hathcock
2c0a15e0f0 make async and sync the same 2026-04-28 09:39:23 +01:00
Adam Hathcock
0352740ea1 more async tests 2026-04-28 09:14:31 +01:00
Adam Hathcock
fc096e1996 new tests 2026-04-28 08:48:30 +01:00
Adam Hathcock
18fade571e made Char be a method to match async method 2026-04-28 08:39:54 +01:00
Adam Hathcock
896dfd6537 some AI changes 2026-04-28 08:32:44 +01:00
copilot-swe-agent[bot]
2d4d9c285a Fix sync methods called in async RAR unpacker paths (Unpack29Async, Unpack5Async)
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/7f2fcb59-4a41-4b27-ab32-17afec510b5e

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-28 08:17:23 +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
5758b08236
Merge pull request #1272 from adamhathcock/copilot/fix-decompression-bomb-and-crash-bugs
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 9s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
Fix fuzzer-found decompression bomb and crash bugs
2026-04-03 13:05:55 +01:00
Adam Hathcock
d532204f6b
Merge pull request #1273 from adamhathcock/copilot/dynamic-default-ringbuffer-bzip2
Dynamic ring buffer sizing for BZip2 and ZStandard on non-seekable streams
2026-04-03 12:51:35 +01:00
copilot-swe-agent[bot]
01fee28759
ShrinkStream: add uncompressedSize bounds check, remove unused CreateAsync params
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/9ed10d73-ebf8-45d3-8d25-d5aa1f4989e7

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-03 11:49:45 +00:00
Adam Hathcock
bd0d1cfba8 remove more extra stuff 2026-04-03 12:47:04 +01:00
copilot-swe-agent[bot]
9ce6ec8d6f
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 11:01:08 +00: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]
c4c646c4dd
Initial plan 2026-04-02 10:48:59 +00:00
Adam Hathcock
16903bdecb clean up shrink stream to ensure correctness 2026-04-02 11:48:01 +01: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
copilot-swe-agent[bot]
24e812ce76
Initial plan 2026-04-02 09:33:07 +00:00
Adam Hathcock
7178a9e599
Merge pull request #1260 from adamhathcock/copilot/fix-multiple-decompressor-crash
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 8s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
Fix denial-of-service crashes in 8 decompressors on malformed input
2026-03-23 12:15:32 +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
copilot-swe-agent[bot]
f608957c7a Initial plan: fix multiple decompressor crashes on malformed input
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:37:58 +00:00
copilot-swe-agent[bot]
4540c58e98 Initial plan 2026-03-23 09:23:19 +00:00
Adam Hathcock
d7f9d25b74
Merge pull request #1257 from adamhathcock/copilot/fix-rewind-buffer-size-zstandard
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 9s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
2026-03-17 18:38:56 +00:00
copilot-swe-agent[bot]
d56b676ee9 fix: increase RewindableBufferSize to 160KB to cover ZStandard worst-case first block
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-03-17 12:25:29 +00:00
Adam Hathcock
1bfc11adfa
Merge pull request #1253 from adamhathcock/adam/fix-zip645-and-zipzstd
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 12s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
Fix ZIP64 stream bounding and WinZip AES read-state corruption in ZIP reader
2026-03-17 12:21:57 +00:00
copilot-swe-agent[bot]
4d6478454d Initial plan 2026-03-17 12:19:54 +00:00
Adam Hathcock
9611c4c3de try ignoring the warning that only seems to happen on GA 2026-03-17 12:12:44 +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
c6e2221b24
Merge pull request #1245 from adamhathcock/adam/clean-up-tests
Proper test file clean up
2026-03-06 15:07:08 +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
b719edfa57
Merge pull request #1242 from adamhathcock/adam/update-deps
Some checks failed
NuGet Release / build-and-publish (ubuntu-latest) (push) Failing after 14s
NuGet Release / build-and-publish (windows-latest) (push) Has been cancelled
Update test dependencies
2026-03-03 17:29:30 +00:00
Adam Hathcock
7c0e3d584a Update test dependencies 2026-03-03 17:01:21 +00:00
Adam Hathcock
5a8119e562 Merge remote-tracking branch 'origin/release'
# Conflicts:
#	src/SharpCompress/Common/Zip/ZipFilePart.cs
#	src/SharpCompress/IO/SharpCompressStream.cs
2026-03-03 16:25:10 +00:00