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
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
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
Adam Hathcock
e4193af83b
Merge pull request #1435 from adamhathcock/rebuild/release-06-7z-header-bounds
...
Reapply 7z next-header bounds validation to release
0.50.5
2026-10-09 15:10:21 +01:00
Adam Hathcock
0bdf3b4d03
Merge pull request #1434 from adamhathcock/rebuild/release-05-gzip-reader-archive
...
Reapply gzip reader/archive XLEN overflow fix to release
2026-10-09 15:10:05 +01:00
Adam Hathcock
3c6c76fd4e
Merge remote-tracking branch 'origin/rebuild/release-05-gzip-reader-archive' into rebuild/release-06-7z-header-bounds
2026-10-09 15:01:17 +01:00
Adam Hathcock
67a22cca97
Fix net48 test build: use plain using for AsyncOnlyStream in gzip reader/archive tests
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 14:59:45 +01:00
Adam Hathcock
6b54523cc6
Merge remote-tracking branch 'origin/release' into rebuild/release-06-7z-header-bounds
2026-10-09 14:51:41 +01:00
Adam Hathcock
f07d5e5d75
Merge remote-tracking branch 'origin/release' into rebuild/release-05-gzip-reader-archive
2026-10-09 14:51:14 +01:00
Adam Hathcock
7ef422dd9f
Merge pull request #1433 from adamhathcock/rebuild/release-04-gzip-extra-field
...
Reapply gzip FEXTRA XLEN overflow fix to release
2026-10-09 14:50:00 +01:00
Adam Hathcock
830c816269
Fix net48 test build: use plain using for types without DisposeAsync
...
AsyncOnlyStream and EntryStream have no DisposeAsync on net48, so
await using fails to compile for that target.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 14:41:59 +01:00
Adam Hathcock
e66c448589
Merge pull request #1431 from adamhathcock/rebuild/release-01-uppercase-split-zip
...
Reapply uppercase split ZIP parts fix to release
2026-10-09 14:36:01 +01:00
Adam Hathcock
2f2730fd01
Validate 7z next header bounds before allocation
2026-10-09 11:56:36 +01:00
Vadim Syrov
5214c349d1
Fix gzip XLEN overflow in reader and archive APIs
2026-10-09 11:56:36 +01:00
Vadim Syrov
b047d6860a
Fix gzip FEXTRA XLEN overflow
2026-10-09 11:56:36 +01:00
Adam Hathcock
bc58792b86
Fix encrypted RAR header state when rescanning archives
...
Reset scan-specific encryption state in sync and async header readers while retaining the KDF cache. Add RAR4/RAR5 rescan and solid encrypted extraction regression coverage.
Fixes #1422
2026-10-09 11:56:35 +01:00
Iain
23e667ed24
Fix split zip parts not found when the .ZIP is uppercase
2026-10-09 11:56:23 +01:00
Adam Hathcock
2071e9036a
Merge pull request #1426 from adamhathcock/fix/rar5-file-data-key-cache
...
Reuse RAR5 derived keys across encrypted file entries
2026-10-05 11:10:18 +01:00
Adam Hathcock
e0fab1497e
Merge pull request #1420 from adamhathcock/fix/rar5-encrypted-comments
...
Fix encrypted RAR5 archive comments
2026-10-05 11:08:22 +01:00
Adam Hathcock
2cd70d019f
Reuse RAR5 derived keys across encrypted file entries
2026-10-05 11:05:33 +01:00
Adam Hathcock
ce081cda1c
fix build
2026-10-05 10:59:57 +01:00
Adam Hathcock
915183320c
added some review fixes
2026-10-05 10:48:34 +01:00
Adam Hathcock
4f8c69f2c3
don't use RarReader directory
2026-10-02 15:23:16 +01:00
Adam Hathcock
8cc42b1d4a
use arraypool
2026-10-02 13:56:16 +01:00