Commit graph

538 commits

Author SHA1 Message Date
Robert Marcano
5843d17d4c Add new APIs that allow copying zip file entries between zip files
The copy is done directly using the raw compressed data, avoiding
decompression and recompression.
2020-11-03 12:57:58 -04:00
Alexander Zaitsev
219bb9b67c
Fix typo in README
Just a very-very-very-very small fix in README :)
2020-10-30 19:11:00 +03:00
Rouven Spreckels
291e9491d5 Reserve all mapped extra data header IDs. 2020-10-08 10:11:52 +02:00
Rouven Spreckels
a74045654f Close writer on error during write. 2020-10-07 10:07:26 +02:00
Rouven Spreckels
e9a1de4e1b Fix marking parsed file as large. 2020-10-03 11:42:13 +02:00
Rouven Spreckels
9397773a32 Add ZIP64 write support. 2020-10-03 11:05:23 +02:00
Rouven Spreckels
ba8307abc7 Improve extra field support.
- Switch to compression method only once as was before extra data
  support allowing future encoders to do early writes when created.
- Reduce seeks by calculating offsets.
- Use `Stored` instead of feature dependent default for example.
  There is a 2-byte pad length difference with deflate disabled.
2020-10-01 09:41:32 +02:00
Rouven Spreckels
d1d4326bff Support aligned files. 2020-09-25 17:23:30 +02:00
Rouven Spreckels
365f139206 Use io::Write for extra field. 2020-09-18 16:15:41 +02:00
Rouven Spreckels
a191c4b435 Support extra field. 2020-09-16 13:59:43 +02:00
Marli Frost
33a787ec54
fix: overlapping borrows on unix platforms
When cfg(unix), the `outpatj` meeded to last until the
`set_permissions` call, but it can't exist during the `io::copy`
2020-09-12 11:10:19 +01:00
Marli Frost
d0e905acc5
feat: provide archive extraction API 2020-09-12 11:03:11 +01:00
Marli Frost
a35c8ffa91
chore: update tests to use preferred method 2020-09-12 10:51:43 +01:00
Marli Frost
103003388c
feat: implement a defensive sanitisation strategy 2020-09-12 10:51:23 +01:00
Marli Frost
fb5105725f
refactor: reintroduce path sanitization strategy
I've documented the drawbacks of this strategy to make sure users are
aware of the tradeoff being made.
2020-09-12 10:45:53 +01:00
Marli Frost
9884c68315
chore: Publish 0.5.8 2020-09-10 11:44:48 +01:00
Plecra
e7502199f9
Merge pull request #197 from mvdnes/unbreak-0.5
Remove breaking changes in 0.5.7
2020-09-10 11:42:53 +01:00
Plecra
c05982e065
Merge pull request #196 from mvdnes/expose-central
Expose the location of the central header
2020-09-10 11:42:40 +01:00
Marli Frost
5e5bd86915
refactor: remove extra variants from ZipError 2020-09-10 10:21:47 +01:00
Marli Frost
f863497e9b
feat: expose the location of the central header 2020-09-10 09:34:24 +01:00
Plecra
63a3e89ef8
Merge pull request #195 from mvdnes/error-impl
Reintroduce error impl
2020-09-09 19:25:30 +01:00
Ryan Levick
5a2e36df8c Reintroduce error impl 2020-09-09 15:43:18 +02:00
Marli Frost
d4b93b6895
chore: publish 0.5.7 2020-09-04 19:13:27 +01:00
Plecra
6fc6b9c284
Merge pull request #182 from mvdnes/extra-docs
Preparing for 0.5.7
2020-09-02 20:45:04 +01:00
Marli Frost
9d978e3c51 docs: remove clutter from doctest 2020-08-26 15:15:04 +01:00
Marli Frost
25d479e65d
chore: remove dead code for 0.5.7 2020-08-25 22:05:56 +01:00
Marli Frost
1be80f12de
docs: add reference to GitHub issue 2020-08-25 22:01:12 +01:00
Davide Romanini
5eefdf8271 add test for handling comment garbage 2020-08-19 18:53:58 +02:00
Marli Frost
0b46263eac
fix: ZipArchive::extract incomplete
Path sanitization needs to be implemented before we can make this public
2020-08-19 15:12:35 +01:00
Marli Frost
4eba55cb7a
refactor: use deprecated API in tests 2020-08-19 13:59:48 +01:00
Marli Frost
d92a06adec
docs: deprecate poor Path sanitization 2020-08-19 13:53:21 +01:00
Marli Frost
599640c1eb
docs: remove redundant example 2020-08-19 13:52:46 +01:00
Marli Frost
bebecb8301
docs: use more descriptive language 2020-08-19 13:52:27 +01:00
Marli Frost
e8eb019e99
docs: simplify doctest 2020-08-19 13:51:50 +01:00
Marli Frost
8f36598cac
refactor: use deprecated API in example 2020-08-19 13:36:35 +01:00
Marli Frost
54e532f26e
fix: arrays aren't io::Write 2020-08-19 13:36:17 +01:00
Marli Frost
33cd959b11
docs: elaborate on purpose of crate 2020-08-19 13:33:37 +01:00
Marli Frost
4091167222
docs: simplify test 2020-08-19 13:29:39 +01:00
Marli Frost
33de808d0f
docs: use more descriptive langauge 2020-08-19 13:29:39 +01:00
Marli Frost
0e482afe2e
docs: the default comment was removed 2020-08-19 13:29:39 +01:00
Marli Frost
f86c310fdc
docs: deprecate Path handling methods
These methods were implemented in a non-intuitive way that could easily
lead to bugs. They may be replaced in a future release
2020-08-19 13:29:36 +01:00
Marli Frost
df8f377f92
docs: warn users about DateTime implementation 2020-08-19 12:21:48 +01:00
Marli Frost
f508aac0cd
docs: elaborate on usage of CompressionMethod 2020-08-19 12:20:43 +01:00
Ryan Levick
62dc40678e
Merge pull request #177 from nickbabcock/overflow
Fix overflow in directory counts of ZIP64 files
2020-08-19 11:54:39 +02:00
Davide Romanini
b91f48a224 fix fmt 2020-08-13 15:53:38 +02:00
Davide Romanini
5c4f0906f8 allow for garbage after comment data 2020-08-13 13:02:53 +02:00
nickbabcock
ef5ce23d85 Fix overflow in directory counts of ZIP64 files 2020-08-10 21:22:49 -05:00
Ryan Levick
fbffaed42a
Merge pull request #175 from mvdnes/pin-flate2
chore: pin the flate2 version for now
2020-07-14 14:02:21 +02:00
Plecra
2963addaaa
docs: Explain version limits 2020-07-10 11:36:49 +01:00
Marli Frost
52c8dfed56
chore: pin the flate2 version for now 2020-07-08 12:38:32 +01:00