zhoujr
4ebc1f82b7
file search support linq Pattern
2018-07-10 19:58:59 +08:00
Matt Kotsenas
bebccaae28
Avoid throwing NotSupportedException in ReaderFactory hot path
...
`ReaderFactory.Open()` calls `ZipArchive.IsZipFile()` to determine if
the `Stream` is a zip archive, which calls into
`ZipHeaderFactory.ReadHeader()`, which throws a `NotSupportedException`
when the `Stream` is not a zip archive.
To be clear, this exception is caught and `IsZipFile()` returns `false`,
but when called in a hot-path, these exceptions can become expensive.
To address this issue, `ReadHeader` now returns `null` in the default
cause instead of throwing. All callsites were already checking for and
handling `null`, so no behavior changes.
2018-07-09 18:44:46 -07:00
Adam Hathcock
9f976aaf78
Merge branch 'master' into master
2018-07-09 08:48:26 +01:00
Adam Hathcock
540ab1c6fa
Merge branch 'master' into master
2018-07-09 08:47:32 +01:00
Adam Hathcock
6792afbdb1
Merge branch 'master' into Rar5IsEncrypted
2018-07-09 08:44:32 +01:00
Adam Hathcock
e5a7185671
Mark for 0.22
2018-07-09 08:42:45 +01:00
Adam Hathcock
cdaf453b2d
Update dependencies and tests to .NET Core 2.1
2018-07-09 08:39:37 +01:00
Andreas Eriksson
f9cc80e1de
Correctly set IsEncrypted for entries in Rar5.
2018-06-29 15:51:40 +02:00
Adam Hathcock
8f49f1b6f8
Merge remote-tracking branch 'origin/master' into zip-slip-readers
2018-06-28 11:52:43 +01:00
Adam Hathcock
e37e8bdadc
Move path handling for extraction to be common
...
Reader and Archive now share more extraction logic
2018-06-28 11:46:51 +01:00
Juang, Yi-Lin
87fbb45099
Fix comment
2018-06-08 11:27:43 +08:00
twirpx
8a5a9159e1
Fixed DirectoryEntryHeader Name/Comment decoding in case of EFS flags set
2018-05-30 21:47:31 +05:00
Julien Lebosquain
540618c062
Implemented ReadByte/WriteByte on streams to improve performance
2018-05-27 16:31:44 +02:00
Adam Hathcock
87e57e3a9a
Mark for 0.21.1
2018-05-15 09:14:56 +01:00
Adam Hathcock
2314776f55
Also check for CustomDecoder
2018-05-15 08:28:11 +01:00
Adam Hathcock
473f5d8189
Make GetDecoder use GetEncoding for forced
2018-05-14 16:20:57 +01:00
Adam Hathcock
be971cb6f7
Allow forced encoding to override default encoding
2018-05-14 16:08:31 +01:00
Adam Hathcock
3f94c1a50d
Remove lingering uses of non disposing stream
2018-05-08 14:10:49 +01:00
Adam Hathcock
2919ec293a
mark for 0.21
2018-05-06 09:39:36 +01:00
Adam Hathcock
747180203c
Rider isn’t quite good enough in refactoring
2018-05-06 09:12:18 +01:00
Adam Hathcock
9f89a0844d
Fix namespaces to not interfere with bouncy castle users
2018-05-06 09:09:45 +01:00
Adam Hathcock
c64282e915
more naming
2018-05-06 09:07:06 +01:00
Adam Hathcock
8dfc4a2ffb
more variable naming
2018-05-06 08:59:00 +01:00
Adam Hathcock
c341c626a5
variable naming clean up
2018-05-06 08:49:32 +01:00
Adam Hathcock
173a0fe659
Some naming clean up
2018-05-05 19:35:58 +01:00
Adam Hathcock
5fdae1cf82
Make readonly and fix visibility
2018-05-05 19:23:34 +01:00
Adam Hathcock
9a9d64bcbe
Merge branch 'master' into leaveOpen
...
# Conflicts:
# src/SharpCompress/Compressors/LZMA/LZipStream.cs
2018-05-05 09:25:26 +01:00
Adam Hathcock
e9d0fb85ac
Merge branch 'master' into leaveOpen
2018-05-05 09:19:38 +01:00
Adam Hathcock
1ce37ef7a8
Fixes lzip stream disposal
2018-05-05 09:18:01 +01:00
Adam Hathcock
fafd8da91d
Merge branch 'master' into leaveOpen
2018-05-05 09:10:19 +01:00
Adam Hathcock
2fb31d4b84
Merge branch 'master' into sridhar6668/support_extended_ascii
2018-05-05 09:09:09 +01:00
odinn1986
80ceb1c375
fix: prevent extracting archived files outside of target path
...
This PR is meant to fix an arbitrary file write vulnerability, that can be
achieved using a specially crafted zip archive, that holds path traversal
filenames. When the filename gets concatenated to the target extraction
directory, the final path ends up outside of the target folder.
A sample malicious zip file named Zip.Evil.zip was used,
and when running the code below, resulted in the creation of C:/Temp/evil.txt
outside of the intended target directory.
There are various possible ways to avoid this issue, some include checking
for .. (dot dot) characters in the filename, but the best solution in our
opinion is to check if the final target filename, starts with the target
folder (after both are resolved to their absolute path).
Stay secure,
Snyk Team
2018-05-02 23:12:33 +03:00
Adam Hathcock
501407c3fe
Change flag name to be closer to spec
2018-04-29 16:33:15 +01:00
Adam Hathcock
abddabf18e
Proper fixes for all platforms
2018-04-29 16:27:26 +01:00
Adam Hathcock
33f7258ea2
Merge branch 'master' into leaveOpen
...
# Conflicts:
# src/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs
# src/SharpCompress/Readers/Rar/RarReader.cs
2018-04-29 14:47:08 +01:00
Adam Hathcock
1ea7bb57e5
Merge branch 'master' into sridhar6668/support_extended_ascii
2018-04-29 11:39:09 +01:00
Adam Hathcock
d9c178cbee
Fix all platform support
2018-04-29 11:33:49 +01:00
Adam Hathcock
031b3c55f6
FIx solid support. I did it wrong
2018-04-29 11:12:28 +01:00
Adam Hathcock
d865120480
ArchiveCryptHeader renamed
2018-04-29 10:13:46 +01:00
Adam Hathcock
15534f466a
Add basic rar5 crypt header
2018-04-28 18:20:40 +01:00
Adam Hathcock
6efe30bd6e
Merge branch 'master' into rar5
...
# Conflicts:
# .gitignore
2018-04-28 18:09:10 +01:00
Adam Hathcock
bee7f43880
Expose stream length. Clean up entry stream
2018-04-26 09:46:01 +01:00
Adam Hathcock
d38276e8cf
Fix solid and some other tests
2018-04-23 10:29:46 +01:00
Adam Hathcock
f3daaeb200
Try to use both for Rarv5 support
2018-04-23 09:39:50 +01:00
Adam Hathcock
9b152a40a9
Merge branch 'master' into rar5
2018-04-22 11:35:33 +01:00
Adam Hathcock
89ae8ca526
Rejigger read only substream
2018-04-22 11:32:47 +01:00
Adam Hathcock
bf58742ddf
rework of leave stream open for readers
2018-04-22 11:09:03 +01:00
Adam Hathcock
f18e5b75bb
Archives set up correctly
2018-04-22 10:06:30 +01:00
Adam Hathcock
e919c99b14
First pass of removing explicit leaveOpen on streams.
2018-04-22 10:02:18 +01:00
srperias@microsoft.com
5d8728d592
Decode without setting the default Encoding type
2018-03-28 13:12:54 -07:00