Commit graph

524 commits

Author SHA1 Message Date
Zachary Dremann
b3c836d9c3 Ensure crc32 checksum is checked only at the end of the reader
The caller can pass in an empty slice for reading, which should return
`Ok(0)`, not raise an error about an invalid checksum prematurely
2020-05-15 17:11:49 -04:00
Zachary Dremann
2b50419947 Add some simple crc32 reader tests 2020-05-15 17:10:58 -04:00
Mathijs van de Nes
85153ecd4b Bump version 2020-03-01 13:50:57 +01:00
Mathijs van de Nes
e485cbf576 Merge branch 'manuthambi-pull-request-file-names' 2020-01-25 15:44:03 +01:00
Manu Thambi
91c93579f2 Added ZipArchive::file_names() method to return an iterator of all the file names
in the archive.

Using ZipArchive::by_index() to obtain a list of files is slow, if the files are
not read, because it creates the decompressor internally before returning ZipFile.

Fixes #122
2020-01-14 09:58:12 -05:00
Mathijs van de Nes
80957e2db9 Merge branch 'tm_mon-bounds-fix' of https://github.com/johannesmaibaum/zip-rs 2020-01-11 13:12:04 +01:00
Mathijs van de Nes
14322823ee
Merge pull request #129 from manuthambi/pull-request-zip-comment
Enable reading/writing ZIP archive comment.
2020-01-11 12:48:11 +01:00
Manu Thambi
69ad3bd2a4 Enable reading/writing ZIP archive comment. 2020-01-09 11:58:35 -05:00
Mathijs van de Nes
59ef020918 Bump version 2020-01-06 22:28:38 +01:00
Mathijs van de Nes
a85e3eb809 Fix error checking tm_mon in time::Tm conversion
Fixes #128
2020-01-06 22:27:46 +01:00
Johannes Maibaum
b2a669bd33 Fix bounds check in DateTime::from_time()
`::time::Tm.tm_mon` has number range [0, 11], see:
https://docs.rs/time/0.1.42/time/struct.Tm.html#structfield.tm_mon
2020-01-03 10:04:58 +01:00
Johannes Maibaum
120732780f Add bounds test for DateTime::from_time()
Fails for 1980-01-01 00:00:00.
2020-01-03 10:04:05 +01:00
Mathijs van de Nes
003440bfe3
Merge pull request #119 from rzip/edition-2018
Edition 2018
2019-11-24 10:49:45 +01:00
Lachezar Lechev
29517e9a6b
run cargo fix --edition-idioms and manually fix other things 2019-11-11 09:20:31 +02:00
Lachezar Lechev
99dba6b397
run cargo fix --edition 2019-11-11 08:58:59 +02:00
Mathijs van de Nes
6fbcc33d82
Update README
Post a notice that this project will no longer be actively maintained.
2019-11-08 16:58:11 +01:00
Benjamin Richner
744bb41b43 Ignore password if file not encrypted. Clean up code structure. 2019-10-20 00:58:07 +02:00
Benjamin Richner
2a5112386c Remove useless return in ZipCryptoReaderValid::read() 2019-10-19 23:44:20 +02:00
Benjamin Richner
1f87098e57 Enable decryption with file reader by_name() 2019-10-19 23:43:33 +02:00
Benjamin Richner
f9f5029fc1 Added ZipCrypto support for stored and deflated files 2019-10-19 18:59:10 +02:00
Mathijs van de Nes
a872278429 Bump version 2019-08-14 20:47:45 +02:00
Mathijs van de Nes
f9c2c64faa Merge branch 'flate2' of https://github.com/jonpas/zip-rs 2019-08-14 20:40:00 +02:00
Mathijs van de Nes
faa7aae4e2
Merge pull request #110 from exphp-forks/default-fileoptions
impl Default for write::FileOptions
2019-07-28 14:52:24 +02:00
Michael Lamparski
907e13b5b6 impl Default for write::FileOptions 2019-07-22 13:24:34 -04:00
Joel Depooter
cd867ecdc2 Add ZipFile::header_start
This function returns the offset of the local zip header for a ZipFile object
2019-07-02 16:27:45 -07:00
jonpas
c82a635c5c Default deflate to flate2/rust_backend (miniz_oxide) 2019-06-20 16:29:16 +02:00
jonpas
c30d7c3d10 Remove _ - updated rustc 2019-06-18 12:32:44 +02:00
jonpas
14f77b390a Use deflate as feature name 2019-06-17 21:36:38 +02:00
jonpas
b171b915f8 Switch to flate2 2019-06-14 15:25:00 +02:00
jonpas
6f9150d3dc Fix compilation error 2019-06-14 15:02:41 +02:00
Mathijs van de Nes
5d0f198124 Rename all tests in tests folder
Using the name 'main' was confusing
2019-04-06 17:59:04 +02:00
Mathijs van de Nes
57c8444d8e Simplify test code of compression 2019-04-06 17:58:12 +02:00
Mathijs van de Nes
256da313b4 Remove warning 2019-04-06 17:23:57 +02:00
Mathijs van de Nes
e6a1c68a64 Update example to use new functionality 2019-04-06 17:19:18 +02:00
Mathijs van de Nes
2314abc307
Merge pull request #96 from damiencollard/file_and_dir_predicates
Add ZipFile::is_dir() and ZipFile::is_file().
2019-04-06 17:07:55 +02:00
Mathijs van de Nes
7b26b18b2f
Merge pull request #102 from jonpas/patch-1
Use add_directory in write_dir example
2019-04-06 16:54:32 +02:00
Mathijs van de Nes
cdbdc008fc Allow a Path to be used as a file/directory name
Instead of using string directly, also accept a Path object. This moves
the responsibility from using the correct path separator and not using
invalid path components to this library.
2019-04-06 16:30:02 +02:00
jonpas
c14a8c7f5d
Use add_directory in write_dir example
Fix compatibility with some unzip tools.
2019-03-30 21:06:43 +01:00
Mathijs van de Nes
d1a0a7d472 Require at libflate >= 0.1.21
libflate 0.1.21 fixes an issue in which certain deflate streams where
unreadable by Windows.

Resolves #99
2019-03-10 14:07:36 +01:00
Mathijs van de Nes
895cc95bb8
Merge pull request #100 from nareshganduri/master
Fix bounds check in DateTime::from_time
2019-03-06 09:39:07 +01:00
unknown
8a24ef994f Fix bounds check in DateTime::from_time 2019-03-05 21:43:59 -06:00
Damien Collard
d9c3c085a8 Fix CI test with --no-default-features failing.
This fix replaces the compressed test archive with a non-compressed
one.
2019-01-31 13:39:30 +01:00
Damien Collard
b9af51e654 Add ZipFile::is_dir() and ZipFile::is_file().
The naming matches that of std::fs::Metadata.

An entry is determined to be a directory based on the presence of
a trailing path separator, i.e. '/' or '\'.

This patch adds a small test zip containing files and directories.
Their names match their type so as to make testing easy.
2019-01-27 15:57:30 +01:00
Mathijs van de Nes
659c9186c6 Remove unused import 2018-12-06 19:55:29 +01:00
Mathijs van de Nes
df9bf606b2 No longer pursue 1.20.0 compatibiliy
Dependencies break this outside of our control, this goal is not
attainable in the long run.
2018-12-06 19:51:51 +01:00
Mathijs van de Nes
3d61d9cd8a Publish version 0.5.0
Changes include:
* Switched to a different deflate (de)compressor
* New DateTime api, removing default dependencies on time and msdos_time
2018-11-17 12:10:31 +01:00
Mathijs van de Nes
ad7a0fd4e5 Fix for rust 1.20.0 2018-11-17 12:10:23 +01:00
Mathijs van de Nes
b6e12e9451 Remove TODO
Changed my mind, API seems good
2018-11-17 11:53:53 +01:00
Mathijs van de Nes
803a4d7521 Do not allow writing to a directory 2018-11-17 11:53:37 +01:00
Mathijs van de Nes
cfbcd768d3 Fix bug in last_modified_time 2018-11-17 11:30:00 +01:00