(#33) Rare combination of settings could lead to writing a corrupt archive with overlength extra data, and data_start locations when reading the archive back were also wrong (#221)
🚜 Refactor
Eliminate some magic numbers and unnecessary path prefixes (#225)
Panic when reading a file truncated in the middle of an XZ block header
Some archives with over u16::MAX files were handled incorrectly or slowly (#189)
Check number of files when deciding whether a CDE is the real one
Could still select a fake CDE over a real one in some cases
May have to consider multiple CDEs before filtering for validity
We now keep searching for a real CDE header after read an invalid one from the file comment
Always search for data start when opening an archive for append, and reject the header if data appears to start after central directory
deep_copy_file no longer allows overwriting an existing file, to match the behavior of shallow_copy_file
File start position was wrong when extra data was present
Abort file if central extra data is too large
Overflow panic when central directory extra data is too large
ZIP64 header was being written twice when copying a file
ZIP64 header was being written to central header twice
Start position was incorrect when file had no extra data
Allow all reserved headers we can create
Fix a bug where alignment padding interacts with other extra-data fields
Fix bugs involving alignment padding and Unicode extra fields
Incorrect header when adding AES-encrypted files
Parse the extra field and reject it if invalid
Incorrect behavior following a rare combination of merge_archive, abort_file and deep_copy_file. As well, we now return an error when a file is being copied to itself.
path_to_string now properly handles the case of an empty path
Implement Debug for ZipWriter even when it's not implemented for the inner writer's type
Fix an issue where the central directory could be incorrectly detected
finish_into_readable() would corrupt the archive if the central directory had moved
🚜 Refactor
Verify with debug assertions that no FixedSizeBlock expects a multi-byte alignment (#198)
(#33) Rare combination of settings could lead to writing a corrupt archive with overlength extra data, and data_start locations when reading the archive back were also wrong (#221)
🚜 Refactor
Eliminate some magic numbers and unnecessary path prefixes (#225)
Panic when reading a file truncated in the middle of an XZ block header
Some archives with over u16::MAX files were handled incorrectly or slowly (#189)
Check number of files when deciding whether a CDE is the real one
Could still select a fake CDE over a real one in some cases
May have to consider multiple CDEs before filtering for validity
We now keep searching for a real CDE header after read an invalid one from the file comment
Always search for data start when opening an archive for append, and reject the header if data appears to start after central directory
deep_copy_file no longer allows overwriting an existing file, to match the behavior of shallow_copy_file
File start position was wrong when extra data was present
Abort file if central extra data is too large
Overflow panic when central directory extra data is too large
ZIP64 header was being written twice when copying a file
ZIP64 header was being written to central header twice
Start position was incorrect when file had no extra data
Allow all reserved headers we can create
Fix a bug where alignment padding interacts with other extra-data fields
Fix bugs involving alignment padding and Unicode extra fields
Incorrect header when adding AES-encrypted files
Parse the extra field and reject it if invalid
Incorrect behavior following a rare combination of merge_archive, abort_file and deep_copy_file. As well, we now return an error when a file is being copied to itself.
path_to_string now properly handles the case of an empty path
Implement Debug for ZipWriter even when it's not implemented for the inner writer's type
Fix an issue where the central directory could be incorrectly detected
finish_into_readable() would corrupt the archive if the central directory had moved
🚜 Refactor
Verify with debug assertions that no FixedSizeBlock expects a multi-byte alignment (#198)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps zip from 2.1.3 to 2.2.0.
Release notes
Sourced from zip's releases.
... (truncated)
Changelog
Sourced from zip's changelog.
... (truncated)
Commits
6d39456
chore: release (#234)af33ed3
feat: ExposeZipArchive::central_directory_start
(#232)3f6768e
docs: Update list of supported features (#230)3a427c4
deps: Update dependencies withcargo upgrade
beab418
chore: release (#229)f803fa0
test: (#33) Verify that data_start is correct when reading an alignment-padde...6d8ab62
fix: (#33) Rare combination of settings could lead to writing a corrupt archi...fd5f804
test(fuzz): Consume self, and add initial junk (#226)3ecd651
refactor: Eliminate some magic numbers and unnecessary path prefixes (#225)a29b860
test(fuzz): Makecargo fuzz fmt fuzz_write
output more reliably equivalent ...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show