Commit graph

59 commits

Author SHA1 Message Date
Rouven Spreckels
1f8c642558 Fix targets without 64-bit atomics. 2022-03-21 16:39:52 +01:00
Alexander Zaitsev
ca60821c0a merge: Merge branch 'master' into explainer 2022-03-08 18:13:34 +03:00
Benoît du Garreau
addfe01eb0 Make ZipArchive cheap to clone 2022-02-05 16:08:55 +01:00
Lireer
d7f0a182b6 Merge remote-tracking branch 'zip-rs/zip/master' 2022-01-25 17:48:45 +01:00
Marli Frost
b080731c55 chore: rustfmt 2022-01-23 21:53:42 +00:00
Marli Frost
0eea88d6c0 doc: more beginner-friendly DateTime
give more warnings about possible misuse of the type
2022-01-23 21:43:28 +00:00
Alexander Zaitsev
e636399935 fix: fix all Clippy warnings
- some warnings are muted since fixing them right now can be a breaking
  API change
- fix Clippy warns in the src, examples and tests

Tested:
- Local test run
2022-01-23 18:54:43 +03:00
Alexander Zaitsev
061cdf149f fix: fix Clippy warnings
- fix a bunch of Clippy warnings
- fix some usages of assert! (change to assert_ne)

Tested:
- Local unit-tests run
2022-01-23 17:35:27 +03:00
Steve Myers
0ee34bd105
Bump MSRV to 1.52.0 and fix cargo fmt and doc 2021-10-25 10:31:46 -07:00
Steve Myers
2f71810c07
Upgrade time dependency to "0.3"
Versions of time crate prior to 0.2.23 fail audit due to RUSTSEC-2020-0071.

Crate: time
Version: 0.1.43
Title: Potential segfault in the time crate
Date: 2020-11-18
ID: RUSTSEC-2020-0071
URL: https://rustsec.org/advisories/RUSTSEC-2020-0071
Solution: Upgrade to >=0.2.23
2021-10-21 21:31:37 -07:00
Lireer
48b52a7e86 move AesMode and AesVendorVersion out of aes-crypto feature 2021-08-05 21:16:11 +02:00
Lireer
354993d906 feature gate aes decryption 2021-08-05 21:06:47 +02:00
Lireer
0820cc4fe2 fix more clippy warnings 2021-08-05 20:29:51 +02:00
Lireer
ff23539624 differentiate between ae1 and ae2 2021-08-05 20:28:14 +02:00
Lireer
d25d6f5f57 finalize AesReader validation and most of decryption 2021-08-04 19:56:14 +02:00
Lireer
852ab625fb initial aes reader 2021-08-04 19:02:22 +02:00
Marli Frost
3fd44ffd5d
Merge pull request #200 from qu1x/support-extra-field 2021-05-11 11:18:17 +01:00
Benjamin Richner
aee5ff09bc Fix unit test in types.rs 2021-05-02 04:10:32 +02:00
Benjamin Richner
80f4c43369 Add Info-ZIP password validation 2021-05-02 04:02:50 +02:00
Marli Frost
f02ad80c70
docs: update links to documentation 2021-02-14 12:37:29 +00:00
Rouven Spreckels
9397773a32 Add ZIP64 write support. 2020-10-03 11:05:23 +02:00
Rouven Spreckels
a191c4b435 Support extra field. 2020-09-16 13:59:43 +02:00
Marli Frost
f863497e9b
feat: expose the location of the central header 2020-09-10 09:34:24 +01:00
Marli Frost
df8f377f92
docs: warn users about DateTime implementation 2020-08-19 12:21:48 +01:00
Marli Frost
6e652446dd feat: define the crate's MSRV 2020-06-23 15:48:50 +01:00
Ryan Levick
31b4b5c842 Address clippy issues 2020-06-15 11:11:17 +02:00
Ryan Levick
ebb07348ee Run cargo fmt 2020-06-15 10:44:39 +02: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
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
Lachezar Lechev
99dba6b397
run cargo fix --edition 2019-11-11 08:58:59 +02:00
unknown
8a24ef994f Fix bounds check in DateTime::from_time 2019-03-05 21:43:59 -06:00
Mathijs van de Nes
ad7a0fd4e5 Fix for rust 1.20.0 2018-11-17 12:10:23 +01:00
Mathijs van de Nes
4fd5c9e509 Update DateTime API 2018-11-17 11:08:41 +01:00
Mathijs van de Nes
f94d4b7a78 Change date api
Remove msdos_time dependency, and introduce simplified DateTime object.
This object does bounds checking to see if dates are representable in
msdos.
2018-11-17 10:26:25 +01:00
Sam Rijs
a9a3fb521e Defer conversion to time::Tm on read 2018-11-07 00:06:42 +11:00
Johan Andersson
0b222aa958 Remove redundant type specification 2018-06-20 01:38:43 +02:00
Johan Andersson
d51a4fc1d0 Fix file name sanitization for incompatible path separators.
Zip files can contain both / and \ as separators regardless of the OS and as we want to return a sanitized PathBuf that only supports the OS separator on the let's convert incompatible separators to compatible ones.

If one doesn't do this then PathBufs will be returned that can have entire paths in the file name such as "src\\lib.rs" on Linux/Mac, instead of srv / lib.rs as 3 separate components.
2018-06-20 01:31:46 +02:00
Mathijs van de Nes
38d1699853 Improve reading from non-seekable streams
You can now repeatedly call a function to iterate over all files in a
zip. This may give some suboptimal results, but is useful when dealing
with an incoming data stream.
2018-06-16 14:14:34 +02:00
Mathijs van de Nes
602952750e Update DEFAULT_VERSION
Use a more sane 'version made by' as we can write Bzip2 files
2018-05-22 23:36:56 +02:00
Mathijs van de Nes
ab9667aa5c Properly write 'version needed' in local file header
'version made by' was used instead of version needed by accident.

Resolves #72
2018-05-22 23:36:56 +02:00
Mathijs van de Nes
806147ac9e Fix sanitized_name test for Windows 2018-04-20 13:53:07 +02:00
Mathijs van de Nes
5e8c95e6ed Make santized_name part of the library
It is a common pitfall to use the name as-is during extraction. Adding
this function may prevent some of the issues.

Resolves #65
2018-04-20 13:35:20 +02:00
Mathijs van de Nes
1831edbbdd Expose the raw file name of a file
We still do most operations with normal Strings, but a user can now also get the raw bytes.

Resolves #26
2017-02-12 17:18:40 +01:00
Mathijs van de Nes
49e506c13c Fix types::System enum
Unix had incorrectly assigned the value 1 instead of 3
2016-10-29 12:30:30 +02:00
Mathijs van de Nes
2a3fe099a6 Derive Debug for read::ZipArchive
Resolves #15
2016-08-08 17:34:02 +02:00
Mathijs van de Nes
e80213e250 Rename version to version_made_by
Also remove System for now
2016-04-27 14:30:00 +02:00
Alexander Koval
1e935672bd Replace system attribute by enum 2016-04-23 13:12:28 +03:00
Alexander Koval
a16962cd2c Support for external file attributes 2016-04-23 10:31:54 +03:00