Adam Hathcock
7505ba7e5f
Release TAR probe buffers and avoid buffering seekable inputs
2026-10-15 16:49:30 +01:00
Adam Hathcock
77490536ae
Fix async RAR unpacker buffer disposal
2026-10-15 16:48:47 +01:00
Adam Hathcock
211ce28f40
Merge pull request #1448 from adamhathcock/adam/merge-release-and-update-dependencies
...
Merge release fixes and update dependencies
2026-10-13 13:34:30 +01:00
Adam Hathcock
e58fcb23e5
Preserve async disposal across all supported frameworks
2026-10-13 12:57:14 +01:00
Adam Hathcock
3bbe0cc93f
Use STREAM_DISPOSEASYNC capability guards for stream disposal
2026-10-13 12:41:38 +01:00
Adam Hathcock
d431c80b38
Fix WinZip AES authentication retry after cancellation
2026-10-13 12:23:24 +01:00
Adam Hathcock
a47e02e4cd
Merge branch 'master' into adam/release-dependencies-and-async-stream-fixes
2026-10-13 11:40:46 +01:00
Adam Hathcock
1fb8ac1724
Merge remote-tracking branch 'origin/release'
...
# Conflicts:
# src/SharpCompress/Compressors/LZMA/LzmaStream.Async.cs
# src/SharpCompress/Compressors/LZMA/LzmaStream.cs
2026-10-13 11:39:15 +01:00
Adam Hathcock
1080969e51
Fix async writable entry streams and cross-framework disposal
2026-10-13 11:36:07 +01:00
Adam Hathcock
9ed27b9a7b
Update dependencies and address threading analyzer findings
2026-10-13 11:18:34 +01:00
Adam Hathcock
cd9ce9ad94
Merge pull request #1443 from adamhathcock/fix/1441-sevenzip-libarchive-attributes
...
Fix 7z writer attribute interoperability with libarchive
2026-10-13 11:12:10 +01:00
Adam Hathcock
ba8d0f84b1
Merge remote-tracking branch 'origin/release'
...
# Conflicts:
# src/SharpCompress/Common/GZip/GZipChecksumValidationStream.cs
# src/SharpCompress/Common/Zip/WinzipAesCryptoStream.Async.cs
# src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs
# src/SharpCompress/Compressors/Deflate/ZlibBaseStream.cs
2026-10-13 11:00:17 +01:00
Adam Hathcock
9aa94c4345
Merge pull request #1447 from adamhathcock/fix/pooled-buffer-lifetimes
...
Fix pooled buffer ownership and exception-safe cleanup
2026-10-13 10:55:50 +01:00
Adam Hathcock
b4a2e2a254
Protect earlier ADC and RAR rentals when later allocation fails
2026-10-13 10:34:14 +01:00
Adam Hathcock
b91671dfc3
Release partially constructed 7z decoder streams on failure
2026-10-13 10:31:15 +01:00
Adam Hathcock
bdb42df4dc
Make raw LZMA setup and disposal exception-safe
2026-10-13 10:29:07 +01:00
Adam Hathcock
38e3222dc2
Release rewind buffers despite disposal failures and reject disposed reads
2026-10-13 10:26:09 +01:00
Adam Hathcock
b3fac7e04a
Release owned Squeeze buffers and failed PPMd models
2026-10-13 10:24:19 +01:00
Adam Hathcock
46437bbbbc
Return pooled memory stream blocks when construction fails
2026-10-13 10:21:45 +01:00
Adam Hathcock
b8f3a8695b
Validate LZMA2 setup before renting and reject disposed writes
2026-10-13 10:09:14 +01:00
Adam Hathcock
c574364838
Fix pooled buffer ownership and exception-safe cleanup
2026-10-13 09:57:19 +01:00
Adam Hathcock
cd3a18bce4
Add public 7z writer attribute regression coverage
2026-10-13 09:23:23 +01:00
Adam Hathcock
9c6cfe886a
Merge remote-tracking branch 'origin/release' into fix/1441-sevenzip-libarchive-attributes
2026-10-13 09:13:55 +01:00
Adam Hathcock
c7115ced3e
Merge pull request #1444 from adamhathcock/fix/1440-sevenzip-directory-only
...
Fix empty and directory-only 7z archive finalization
2026-10-13 09:12:04 +01:00
Adam Hathcock
971a01e940
Merge pull request #1445 from adamhathcock/fix/1439-sevenzip-password-exceptions
...
Expose public exceptions for encrypted 7z decoding failures
2026-10-13 08:11:19 +01:00
Adam Hathcock
dcd2515598
Merge remote-tracking branch 'origin/release' into fix/1439-sevenzip-password-exceptions
...
# Conflicts:
# docs/API.md
2026-10-12 17:10:32 +01:00
Adam Hathcock
a147a7bc29
Merge pull request #1442 from adamhathcock/fix/release-pr-1436-followups
...
pr 1436 followups
2026-10-12 17:05:28 +01:00
Adam Hathcock
b924008b89
Return pooled tar header buffer only after parsing it
...
TarHeader.ReadAsync returned the rented header block to ArrayPool before
reading the checksum, name, size and other fields from it. Under parallel
load another caller could rent the same array and overwrite it, which made
async tar reads fail intermittently with a bad checksum ("Cannot determine
compressed stream type") or "Unexpected EOF reading tar file".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 16:59:41 +01:00
Adam Hathcock
68401dc86b
Fix formatting and span import in streamless 7z tests
2026-10-12 16:43:34 +01:00
Adam Hathcock
c9f69470ad
Refactor offset and size reading to use BinaryPrimitives
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-10-12 16:08:45 +01:00
Adam Hathcock
3b57f536f3
Merge pull request #1446 from adamhathcock/fix/1438-sevenzip-encryption-detection
...
Fix 7z encryption detection for streamless files
2026-10-12 16:00:24 +01:00
Adam Hathcock
69e1477ee6
Expose public exceptions for encrypted 7z decoding failures
2026-10-12 15:29:40 +01:00
Adam Hathcock
7d7983e0f4
Fix 7z encryption detection for streamless files
2026-10-12 15:29:40 +01:00
Adam Hathcock
9332fb9c70
Fix empty and directory-only 7z archive finalization
2026-10-12 15:28:49 +01:00
Adam Hathcock
cda73d09bd
Fix 7z attribute interoperability with libarchive
2026-10-12 15:27:44 +01:00
Adam Hathcock
eac609b35a
Report truncated encrypted RAR data as InvalidFormatException asynchronously
...
ReadExactAsync throws IncompleteArchiveException, so the async decrypt
path's EndOfStreamException catch never ran. On net48, EntryStream.Dispose
skips the entry through the async path, so its IncompleteArchiveException
replaced the InvalidFormatException from the synchronous read and failed
Rar_Multi_Reader_Encrypted. Sync and async now report truncated encrypted
data as InvalidFormatException.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:23:52 +01:00
Adam Hathcock
b07e6bc727
Validate fragmented GZip trailers asynchronously using inflater read-ahead
2026-10-10 15:40:39 +01:00
Adam Hathcock
b919aaab1f
Validate GZip CRC and size during asynchronous stream disposal
2026-10-10 15:40:39 +01:00
Adam Hathcock
953ce61564
Consume both GZip header CRC bytes and reject truncated fields
2026-10-10 15:40:38 +01:00
Adam Hathcock
f888179583
Preserve DEFLATE read-ahead bytes after one-byte output and EOF
2026-10-10 15:40:37 +01:00
Adam Hathcock
fed1d884c7
Do not treat zero-length checksum reads as end of entry
2026-10-10 15:40:37 +01:00
Adam Hathcock
06fea02e64
Resolve RAR companion volumes with unambiguous case-insensitive fallback
2026-10-10 15:40:36 +01:00
Adam Hathcock
13ed208a2b
Read ARJ headers and extended headers exactly
2026-10-10 15:40:36 +01:00
Adam Hathcock
2a68ec7257
Read ARC entry headers fully on fragmented streams
2026-10-10 15:40:35 +01:00
Adam Hathcock
b442327e5f
Allow partial reads in ACE signature detection
2026-10-10 15:40:35 +01:00
Adam Hathcock
d01539ae3c
Handle partial LZip headers and validate dictionary sizes consistently
2026-10-10 15:40:35 +01:00
Adam Hathcock
17f26064f9
Read ZIP AES encryption metadata exactly on fragmented streams
2026-10-10 15:40:34 +01:00
Adam Hathcock
7265047dd7
Verify WinZip AES authentication and reject truncated encrypted data
2026-10-10 15:40:34 +01:00
Adam Hathcock
9ba6d17b5d
Validate 7z AES KDF limits before unsalted key derivation
2026-10-10 15:40:33 +01:00
Adam Hathcock
ab3ac18e98
Fix release review findings in RAR, GZip, and split ZIP parsing
2026-10-10 08:22:55 +01:00