Robert Haines
45f4c2dc29
Fix Style/GuardClause cop.
2020-02-15 16:26:32 +00:00
Robert Haines
468a80ce02
Fix Style/IfInsideElse cop.
2020-02-15 16:26:32 +00:00
Robert Haines
cfe4972e71
Fix Layout/EmptyLineAfterGuardClause cop.
2020-02-15 16:26:32 +00:00
Robert Haines
0d49421711
Fix Lint/UselessAccessModifier cop.
2020-02-15 16:26:32 +00:00
Robert Haines
98c6969c18
Fix Layout/SpaceAroundOperators cop.
2020-02-15 16:26:32 +00:00
taichi
b326d17438
use @+ operator instead of #dup to get unfrozen string
2020-02-05 11:40:56 +09:00
Jan-Joost Spanjers
e072c57beb
Add Entry#incomplete?
2020-01-26 15:34:17 +01:00
Jan-Joost Spanjers
c897bbdf77
Add Entry#encrypted?
2020-01-26 15:34:17 +01:00
Robert Haines
0f6ca04a9d
Set the default options in `Entry` the same as `File`.
2019-10-31 17:30:14 +00:00
Robert Haines
2bdd37d894
Add a convenience method for creating DOSTime instances.
...
DOSTime::from_time creates a DOSTime instance from a vanilla Time
instance.
2019-10-20 19:30:34 +01:00
Robert Haines
8c694d38ee
Add functionality to restore file timestamps.
...
There has been an option in `Zip::File` (`:restore_times`) for a long
time, but it seems it has never worked. Firstly the actual timestamp of
an added file wasn't being saved, and secondly an extracted file wasn't
having its timestamp set correctly.
This commit fixes both of those issues, and adds tests to make sure.
2019-10-20 19:30:27 +01:00
Robert Haines
935a4f31a2
Make warning messages consistent.
...
And fix a few spelling mistakes.
2019-10-12 12:52:04 +01:00
Robert Haines
340379f080
Use `warn` instead of `puts` for messages from the library code.
...
`warn` has the advantage of easily being disabled by, the `-W0` interpreter
flag or setting $VERBOSE to nil.
2019-10-11 19:31:42 +01:00
John Lees-Miller
97cb6aefe6
Warn when an entry size is invalid
2019-09-18 18:34:23 +01:00
John Lees-Miller
4167f0ce67
Validate entry sizes when extracting
2019-09-15 15:11:35 +01:00
John Lees-Miller
ad15c3c494
Allow tilde in zip entry names
...
Use absolute_path rather than expand_path to allow tilde to pass through
unchanged. Otherwise, we try to expand it to a home directory.
2019-03-22 16:30:25 +02:00
John Lees-Miller
bb3488723f
Merge pull request #385 from mihyaeru21/remove-commas
...
remove some strange commas
2019-03-21 22:22:32 +02:00
John Lees-Miller
3219d8e5af
Merge pull request #390 from taichi-ishitani/master
...
fixed FrozenError caused by frozen-string-literal
2019-03-21 21:58:17 +02:00
taichi
74f0d4eabb
fixed errors caused by frozen-string-literal
2019-02-28 01:23:29 +09:00
David Ryskalczyk
a420323c84
require pathname where it is used
2019-02-10 11:51:29 -05:00
Mihyaeru
afb1b79efd
remove some strange commas
2018-12-04 00:14:32 +09:00
John Lees-Miller
8a1de58286
Expand from root rather than current working directory
2018-08-26 19:55:26 +01:00
John Lees-Miller
3dd165b494
Disable symlinks and check for path traversal
2018-08-26 14:21:38 +01:00
Bart de Water
8e78311d67
Fix CVE-2018-1000544 symlink path traversal
...
Not sure if the exception is the right way to go
2018-08-23 18:14:48 -04:00
Bart de Water
6e0d23178a
Fix CVE-2018-1000544 absolute path traversal
...
Small refactor along the way to centralize destination handling when no explicit path is given and a potential malicious one from the zipfile is used
2018-08-23 18:14:48 -04:00
Andrew Meyer
c787d94852
Handle stored files with general purpose bit 3 set
...
Signed-off-by: Sam Coward <scoward@pivotal.io>
2018-04-03 16:07:18 -04:00
Alexey Sorokin
deb6616c5f
Merge branch 'master' into force-entry-names-encoding-option
2017-10-18 19:24:58 +03:00
Alexey Sorokin
a9f020c0a0
add option to force entry names encoding
...
if you need to work with existing zip files which contain names with
non-ascii characters then you can specify this option.
Without this option find_entry will not work properly
2017-10-18 18:20:56 +03:00
Takumasa Ochi
cf91112b57
Apply automatic correction by rubocop
2017-06-29 11:57:12 +09:00
Alexander Simonov
ce4208fdec
Fix #315 and resolve relative path vulnerability
2017-02-08 13:43:14 +02:00
dogatana
a4e3b55bb2
remove tr to support cp932 encoding
2016-12-07 22:35:33 +09:00
knut2
579e78f1ef
Update entry.rb
...
Add accessor to @internal_file_attributes
See http://stackoverflow.com/questions/39800771/hot-to-set-binary-flag-in-zip-file-with-rubyzip
2016-10-10 23:04:36 +02:00
Pavel Lobashov
73a35d4515
User `warn` method instead `STDERR.puts` to correctly check error in tests
...
See http://stackoverflow.com/questions/34351144/minitest-assert-output-incorrect-check-for-stderr
about this
2015-12-18 16:40:24 +03:00
Victor Costan
77acc03ddb
Fix exception due to calling empty? on nil.
2015-09-30 03:57:21 -04:00
Seth Kingsley
05a9ba3f20
Use duck typing to detect IO-like objects.
2015-09-03 06:16:32 -07:00
Pavel Lobashov
c0177a455b
Merge branch 'master' into rubocop_fixes
...
Conflicts:
README.md
samples/example_recursive.rb
2015-06-08 10:14:25 +03:00
Alexander Simonov
d289780072
Fix #234 . Add special variable what is a flag about internal usege
2015-06-07 17:29:54 +03:00
Vít Ondruch
32016ab1bf
Remove executable bit.
2015-03-31 13:15:46 +02:00
Pavel Lobashov
2007be0ab6
fix rubocop Lint/UselessAccessModifier cop
2015-03-24 19:47:49 +03:00
Pavel Lobashov
fd864bd7ab
fix rubocop Style/CaseEquality cop
2015-03-24 19:44:47 +03:00
Pavel Lobashov
b920a1eb49
fix rubocop Style/GuardClause cop
2015-03-24 19:16:03 +03:00
Pavel Lobashov
b9aefaffb5
fix rubocop Style/IfUnlessModifier cop
2015-03-24 19:09:22 +03:00
Pavel Lobashov
47b72f5cab
fix rubocop Style/LeadingCommentSpace cop
2015-03-23 19:06:01 +03:00
Pavel Lobashov
d5f79822c1
fix rubocop Style/LineEndConcatenation cop
2015-03-23 19:03:28 +03:00
Pavel.Lobashov
8d6f23ba9a
fix rubocop Style/SpaceAroundOperators cop
2015-03-22 20:03:50 +03:00
Pavel.Lobashov
b13fafb7e8
fix rubocop Style/StringLiterals cop
2015-03-22 19:54:44 +03:00
Pavel.Lobashov
73e5f70bdf
fix rubocop Style/SpaceAfterMethodName cop
2015-03-22 19:43:44 +03:00
Pavel.Lobashov
105c2c71b2
fix rubocop Style/RedundantException cop
2015-03-22 19:32:47 +03:00
Pavel.Lobashov
abf9cbec23
fix rubocop Style/RedundantSelf cop
2015-03-22 19:30:24 +03:00
Pavel.Lobashov
06e5a9352d
fix rubocop Style/ParenthesesAroundCondition cop
2015-03-22 19:25:35 +03:00
Pavel Lobashov
b730387cf2
redone fixes by rubocop Style/Alias to be in style of https://github.com/bbatsov/ruby-style-guide#alias-method-lexically
2015-03-21 13:14:21 +03:00
Pavel Lobashov
da863e4b55
Merge branch 'master' into rubocop_fixes
...
Conflicts:
lib/zip/entry.rb
2015-03-21 11:37:28 +03:00
Pavel Lobashov
b93ef1266f
fix rubocop Style/StringLiterals cop
2015-03-21 11:27:44 +03:00
Pavel Lobashov
b9a757e045
fix rubocop Style/EmptyLinesAroundClassBody cop
2015-03-21 11:21:26 +03:00
Pavel Lobashov
6c46c21abb
fix rubocop Style/ColonMethodCall cop
2015-03-21 11:16:06 +03:00
Pavel.Lobashov
bb08213cb7
fix rubocop Style/Alias cop
2015-03-20 23:17:05 +03:00
Pavel.Lobashov
4ee6d6be39
fix rubocop Lint/UnusedMethodArgument cop
2015-03-20 23:09:41 +03:00
Pavel.Lobashov
67838e13ac
fix rubocop Lint/EndAlignment cop
2015-03-20 23:00:20 +03:00
Pavel.Lobashov
6d19df491a
fix rubocop Lint/AssignmentInCondition cop
2015-03-20 22:57:38 +03:00
Pavel.Lobashov
d928aeebe5
make parse_zip64_extra check for empty @extra['Zip64'] easier to read
2015-03-20 22:54:28 +03:00
Pavel Lobashov
17ac4fdba1
Fix #218
...
Ouput Invalid Date/time to STDERR
2015-03-19 17:32:33 +03:00
Sergey Konotopov
b7fa9b124e
Fixing Zip#read_local_entry error on JRuby
2015-03-07 12:50:13 +03:00
Shigeaki Matsumura
85a7bbdf1a
add data descriptor for each entries when encrypto
2015-01-08 18:30:32 +09:00
lobashov
7498e8a9d3
add warn_invalid_date option
2014-12-01 18:39:29 +03:00
Nikolay Petrachkov
5a4d1ba52a
Use tr instead of gsub
2014-10-22 16:37:21 +02:00
Henry Yang
a7a11e33bd
NTFS Extra Field (0x000a) support
2014-09-11 23:04:23 -07:00
Mehmet Celik
b5c5b6803e
Zip::Entry::DEFLATED was forced on every file
2014-04-23 08:42:09 +02:00
mrloop
9eb35ca0c4
Don't send empty string to stream
...
Unneeded method call removed.
This was causing an issue in rails 4 and zipline
https://github.com/fringd/zipline/pull/10
2014-04-17 13:23:12 +01:00
Ian Young
37ed325783
Clean up tempfiles from output stream, fixes #57
2014-04-04 14:32:11 -07:00
Jeremy Stanley
9e144061b9
fix modifying existing zipfile with zip64 enabled
...
The local header size computed from the central directory entry
is incorrect due to the Zip64Placeholder in the local entry.
This caused us to seek to the wrong location when copying an
unchanged compressed data stream.
(The same problem could occur when modifying any zip file where
the local header and central directory header contain different
variable-sized fields, so it's a good idea not to trust the CD
to tell us the local header size in any case.)
2014-03-12 15:57:52 -06:00
Alexander Simonov
2697c7ea4f
Fix #138
2014-03-09 20:38:24 +02:00
Sam Rawlins
a37e13c6f0
File.exists? -> File.exist?
2014-02-06 15:00:38 -08:00
Alexander Simonov
ec81c30382
Fix for #126 and #127
2014-01-24 11:37:38 +02:00
Alexander Simonov
c7f0b17abf
Real fix for #119
2014-01-19 13:45:58 +02:00
Alexander Simonov
18506c6345
Fix #119 calling 'path' on not IO objects
2014-01-06 20:29:39 +02:00
Jeremy Stanley
af165f5cbd
Add read/write support for zip64 extensions
...
This commit adds the capability of creating archives larger than
4GB via zip64 extensions. It also fixes bugs reading archives of
this size (specifically, the 64-bit offset of the local file
header was not being read from the central directory entry).
To maximize compatibility, zip64 extensions are used only when
required. Unfortunately, at the time we write a local file header,
we don't know the size of the file and thus whether a Zip64
Extended Information Extra Field will be required. Therefore
this commit writes a 'placeholder' extra field to reserve space
for the zip64 entry, which will be written if necessary when
we update the local entry with the final sizes and CRC. I use
the signature "\x99\x99" for this field, following the example
of DotNetZip which does the same.
This commit also adds a rake task, zip64_full_test, which
fully tests zip64 by actually creating and verifying a 4GB zip
file. Please note, however, that this test requires UnZip
version 6.00 or newer, which may not be supplied by your OS.
This test doesn't run along with the main unit tests because
it takes a few minutes to complete.
2013-09-27 20:41:00 -06:00
Alexander Simonov
73d9e1c8a0
StingIO support #47 #18
2013-08-29 23:50:12 +03:00
Alexander Simonov
609de2ff48
Zip64 read-only support. Fix #81
2013-08-26 23:26:14 +03:00
Alexander Simonov
317fdd0d04
Add posibility to set Language encoding flag. Changed way to set settings.
2013-08-15 01:00:27 +03:00
Alexander Simonov
20d79feb99
Refactor ::Zip::Entry and ::Zip::ExtraField
2013-06-30 23:52:48 +03:00
Alexander Simonov
61ce5dbc5f
Refactoring part #2
...
Rubyzip interface was changed!
2013-06-03 10:56:24 +03:00