100 Commits
Author SHA1 Message Date
Tim Kientzle e9a5a70f9a Issue #837: Fix iteration over the available error codes 2016-12-08 21:56:34 -08:00
Tim Kientzle 182c7832fb Rework the valid_number_field test function to be more
lenient.  There are an enormous number of tar writing
programs, many which don't quite follow the specs.

Note:  I don't think I recall seeing any that left
number fields with trailing garbage; I may be wrong
about that, in which case, this would have to stop
at the first NUL (after the first octal character).
2016-12-01 20:09:59 -08:00
Tim Kientzle a625b42f51 Issue #801: close the file descriptor when testing link counts
Thanks to Ed Maste for reporting this leak.
Found by: Coverity
2016-10-11 18:38:44 -07:00
Tim Kientzle dc1882e4ab Correct the usage of PATH_MAX as reported in Issue #744. 2016-08-09 21:35:38 -04:00
Tim Kientzle 40214c7998 Merge branch 'master' of github.com:libarchive/libarchive 2016-08-09 21:32:00 -04:00
Tim Kientzle 063ea3ea3f Test cases for Github Issue #744, #745, and #746. 2016-08-09 21:31:36 -04:00
Tim Kientzle daf8a7bb54 Issue 720: Allow dashes in third-party version numbers 2016-07-20 20:27:45 -07:00
Tim Kientzle 5dc627262f Issue 695: Check return value of fwrite/fclose 2016-07-20 20:22:25 -07:00
Tim Kientzle ad661cf393 FreeBSD bug 204157: If filesystem does not support birthtime, then make all birthtime comparisons succeed.
This is a bit of a hack:  We should also have tests that verify
different birthtimes.  When/if that happens, we'll need to add
a real system probe to determine whether birthtime is actually
supported on this particular filesystem and skip tests accordingly.
2016-06-23 22:16:03 -07:00
Tim Kientzle ed9baeebd8 Issue 686: Keep retrying until buffer is big enough
@duy-github pointed out that commit 9134c3a fixed
one place where this mistake occurred, but left three
other places.
2016-06-23 22:07:19 -07:00
Tim Kientzle d85976e7ff Issue 553: Fix broken decryption for ZIP files.
Sometimes, decompressing was failing due to miscalculation of buffer
offsets, and hence causing a silent buffer overflow.

When a previous chunk decompression left some bytes in the decryption
buffer, it was not taken into account in determining space left in the
decompression buffer.

So, it could happen, that the decryption buffer is completely full,
but some bytes are not used yet. In such case, even though the buffer
is full, the code tried to decrypt more bytes behind it's boundary.

This CL resolves this issue by properly calculating the amount of
space left in the decompression buffer.

(This is an edited version of Tomasz Mikolajewski's pull request.)
2016-06-15 18:38:30 -07:00
Tim Kientzle b4ce6286af Fix the broken test name 2016-06-03 06:46:40 -07:00
Tim Kientzle 83c3e2e675 Issue 657: Allow up to 8k for the test root directory name 2016-06-02 20:17:13 -07:00
Tim Kientzle ed497f0e18 Issue 682: Correctly write gnutar filenames of exactly 512 bytes
Previous code omitted the final zero byte for filenames and
linknames.  This is usually okay since the final block is
padded with zero bytes, but if the filename exactly filled
the block, there would be no zero byte.
2016-05-31 21:01:59 -07:00
Tim Kientzle 61c56e52b3 Make some arguments const 2016-05-10 18:54:02 -07:00
Tim Kientzle 6dc7b8036a Issue 585: archive.h needs time.h 2016-04-28 19:54:47 -07:00
Tim Kientzle ebc67c17de Issue 695: check fwrite return value, sync up test harnesses 2016-04-28 19:44:20 -07:00
Tim Kientzle c917762d6d Issue 693: assert() wants a boolean, not a pointer 2016-04-27 23:27:43 -07:00
Tim Kientzle a74d6220e4 Issue 690: Document the possible need for -lacl on some Linux systems 2016-04-27 23:20:40 -07:00
Tim Kientzle b05a273391 Issue 692: More robust check for lzma_stream_encoder_mt 2016-04-27 23:15:08 -07:00
Tim Kientzle 1ee0eb7953 Issue 692: Fix typo in newc cpio test 2016-04-27 23:10:02 -07:00
Tim Kientzle 4aede611b9 Issue 685: Just verify the body of the error message; ignore the program name 2016-04-27 23:05:19 -07:00
Tim Kientzle 146cf42501 Merge branch 'master' of github.com:libarchive/libarchive 2016-04-27 22:48:41 -07:00
Tim Kientzle 9134c3a4a9 Issue 686: Correctly retry if the buffer needs to be grown 2016-04-27 22:48:20 -07:00
Tim Kientzle e84294e425 Issue 675: SIGRTMAX can be non-constant, so allocate the signal tracking array at runtime 2016-03-22 20:28:42 -07:00
Tim Kientzle c4f5568d83 Merge branch 'master' of github.com:libarchive/libarchive 2016-03-22 19:29:26 -07:00
Tim Kientzle b281f94cfd Add more sample zip files to the fuzz test 2016-02-23 20:36:37 -08:00
Tim Kientzle 3526db62f4 Really sync up the test harnesses 2016-01-28 21:33:53 -08:00
Tim Kientzle 586c1f4bbb Fix two broken UU files 2016-01-28 21:25:42 -08:00
Tim Kientzle 02e017d635 Sync up the test harnesses; add error checks to the UUdecode utility 2016-01-28 21:25:25 -08:00
Tim Kientzle cdf9f0e1e6 Fix test on systems without zlib 2016-01-27 21:16:01 -08:00
Tim Kientzle 55ce98e829 Add in two missing test cases. 2015-11-19 21:09:08 -08:00
Tim Kientzle 2a6f23615e Rework to avoid some C99-isms. <sigh> 2015-11-19 21:07:56 -08:00
Tim Kientzle 14dc0d2787 It seems we can no longer rely on getting WARN back when
character-set conversion is inexact.  Change this test to
reflect the current realities.
2015-10-23 08:11:44 -07:00
Tim Kientzle c0c52e9aaa Don't try to be smart about probing the min/max tim_t values.
Just assume that a signed time_t is really a 64-bit or 32-bit integer.
2015-10-22 21:43:07 -07:00
Tim Kientzle 3bfe5f1f8c If 7zip is not supported, skip the encryption detection test. 2015-10-21 01:47:34 -07:00
Tim Kientzle 8e388bb8dc When comparing ACLs for these tests, ignore 'Guest' account
information that may vary between machines.
2015-10-21 01:08:20 -07:00
Tim Kientzle 2b598c89fd Issue 593: Add .travis.yml for Travis-CI
This will help people who want to use Travis-CI to follow
libarchive development.  Including Travis-CI status in the
README.md is a separate issue that requires one of the
libarchive maintainers to commit to managing it.
2015-08-27 08:42:02 -07:00
Tim Kientzle 50289618c7 Issue 591 2015-08-27 08:35:59 -07:00
Tim Kientzle 039f9c827a Fix indentation 2015-06-23 08:29:06 -07:00
Tim Kientzle a0195e4bb4 Merge branch 'master' of github.com:libarchive/libarchive 2015-05-13 08:12:58 -07:00
Tim Kientzle c4ffaa6bb1 Fix spelling of archive_read_data_into_fd 2015-05-13 08:12:40 -07:00
Tim Kientzle 40a5cecb54 Fix printing of special chars in strdump 2015-05-07 20:51:03 -07:00
Tim Kientzle 6272e115ed Merge branch 'master' of github.com:libarchive/libarchive 2015-04-20 21:07:14 -07:00
Tim Kientzle d3e0c59533 Fix a missing asterisk in the sample code. 2015-04-20 21:06:53 -07:00
Tim Kientzle 79516c2ff8 Test support for UTF8 pathname extension in Zip archives 2015-04-13 21:57:27 -07:00
Tim Kientzle c1732828cd Issue 378: compute string pointers after concatenation, to protect against reallocation moving the string 2014-09-25 18:51:57 -07:00
Tim Kientzle 8774bc55cb Include new hmac/random support files in cmake build 2014-09-25 18:50:57 -07:00
Tim Kientzle 3eb53a12d2 Fix cmake check for arc4random_buf 2014-09-25 18:50:32 -07:00
Tim Kientzle cd35859596 Issue #359: Rar drops file if previous filename is a prefix 2014-06-04 16:57:42 -07:00
Tim Kientzle 154865e188 Make the backslash line continuations more consistent for automatic updating; update the libarchive test data 2014-01-16 20:12:49 -08:00
Tim Kientzle 0c10c08412 Fix the zip tests that were inadvertently disabled (and hence broken).
Extend them to verify with/without forcing zip64 and with/without 'el' extension.
2014-01-16 20:02:05 -08:00
Tim Kientzle 3f57d32c3d Include missing test in cmake build, sort the file list. 2014-01-16 20:01:44 -08:00
Tim Kientzle 096e9d4f0f Include tests for new zip64 functionality in autoconf-based build. 2014-01-16 20:01:17 -08:00
Tim Kientzle f4fa644f7f Only enable the still-experimental 'el' extra block
if option 'zip:experimental' is specified.
This should limit the use of this option until the
final format is actually nailed down.
2014-01-08 21:20:10 -08:00
Tim Kientzle 50f7052ecf Change new extra block from 'LA' to 'el' to follow updated draft spec 2014-01-02 19:25:02 -08:00
Tim Kientzle 649aa3ae58 Add a bitmap to indicate which fields are included for compression and for future expansion 2014-01-02 06:14:20 -08:00
Tim Kientzle 3be3fc328a Merge branch 'master' of github.com:kientzle/libarchive-zip64 2013-12-25 09:57:37 -08:00
Tim Kientzle cd1740912b Style: Use 'int' not 'char' for status return types.
Fix a const mistake.
2013-12-19 21:38:53 -08:00
Tim Kientzle 22d76265e4 Style: Don't check for entry being non-NULL (none
of the archive_entry routines do this); adjust
some indentation to match the other code.
2013-12-19 21:25:34 -08:00
Tim Kientzle 53d9c0ff19 Zip and Rar store file times in local time,
so we can't verify them in tests (since the
time varies depending on the time zone where
the tests are being run).
2013-12-19 21:17:23 -08:00
Tim Kientzle 7a90710e0d Merge branch 'encryption_detection' of github.com:kwk/libarchive into kwk-encryption_detection
Conflicts:
	libarchive/archive_read_support_format_zip.c
2013-12-19 20:55:10 -08:00
Tim Kientzle 9c9928712d Ignore emacs backup files 2013-12-19 20:41:59 -08:00
Tim Kientzle 76f52ef840 Refactor archive_version_details to eliminate size and printf concerns 2013-12-19 20:29:14 -08:00
Tim Kientzle f111f77f79 Merge branch 'archive-version-details' of github.com:rosslagerwall/libarchive into rosslagerwall-archive-version-details 2013-12-19 20:19:19 -08:00
Tim Kientzle 135025e999 Merge branch 'local_coverage' of github.com:kwk/libarchive into kwk-local_coverage
Conflicts:
	CMakeLists.txt
2013-12-19 20:14:26 -08:00
Tim Kientzle 5c4b026c4a Refactor lafe_setprogname slightly to avoid the repeated logic about default handling 2013-12-19 20:10:46 -08:00
Tim Kientzle b462718b70 Merge branch 'master' of github.com:jymigeon/libarchive into jymigeon-master 2013-12-19 19:58:33 -08:00
Tim Kientzle add4f95b01 Checkpoint work on zip64 support 2013-12-12 22:10:06 -08:00
Tim Kientzle 27eec1f765 Fix tar test build with CMake 2013-12-12 21:22:13 -08:00
Tim Kientzle d7ab9b4d06 Merge branch 'master' of github.com:libarchive/libarchive 2013-12-12 20:24:52 -08:00
Tim Kientzle 95e0b3a4f6 tar option mac-ext can now be used to control whether mac extensions are processed; defaults to off on non-MacOS 2013-12-12 20:24:43 -08:00
Tim Kientzle b49d593f25 Rename read_open_memory2 to read_open_memory_minimal, which is
a bit more descriptive.

SVN-Revision: 4192
2012-03-19 08:44:09 +09:00
Tim Kientzle 7eebfb27b9 Issue 234: Fix typos in comments
SVN-Revision: 4214
2012-03-18 05:28:51 +09:00
Tim Kientzle 977efcc158 Don't do direct comparison of timestamps that
are in local time.

SVN-Revision: 4198
2012-02-09 09:44:25 +09:00
Tim Kientzle e74a1a0e7d Set trunk version to 3.0.200a for pre-3.1 development.
(Mac OS doesn't like 900 here.)

SVN-Revision: 4215
2012-01-29 21:41:45 -05:00
Tim Kientzle 3b88e14d87 Issue 234: Fix typos in comments
SVN-Revision: 4214
2012-01-29 13:18:35 -05:00
Tim Kientzle f7cd53ca1e Merge fix for Issue 226 from trunk.
SVN-Revision: 4203
2012-01-24 01:52:48 -05:00
Tim Kientzle 27b361c494 Issue 232: Restructure this so that r is correctly set
before being used.

SVN-Revision: 4202
2012-01-24 01:43:52 -05:00
Tim Kientzle da64ed4917 Issue 226: Fix infinite loop when a data descriptor marking
the end of an uncompressed entry falls exactly at the end of
a block and the seeking Zip reader tries to skip it.

To test this, the test_compat_zip_7 test reads a small sample
XPS file with every block size from 1 byte up to 1000 bytes.
(For this specific bug, an 807-byte block triggers the
problem.)

SVN-Revision: 4201
2012-01-24 01:05:46 -05:00
Tim Kientzle 6c51a5c091 Issue 225: The seeking Zip reader should fall back on
the filename to determine whether the current file
is a directory if there is not a POSIX mode value stored.

SVN-Revision: 4199
2012-01-24 00:23:53 -05:00
Tim Kientzle eef42ef7f4 Don't do direct comparison of timestamps that
are in local time.

SVN-Revision: 4198
2012-01-24 00:18:00 -05:00
Tim Kientzle f4ea41bf5f Issue 232: Fix a missing header.
SVN-Revision: 4197
2012-01-24 00:11:51 -05:00
Tim Kientzle 8f230c6c30 Rename read_open_memory2 to read_open_memory_minimal, which is
a bit more descriptive.

SVN-Revision: 4192
2012-01-23 00:06:04 -05:00
Tim Kientzle 58e7cb73c1 Issue 226: Try to reproduce a hang when reading archives
where the length-at-end marker ends exactly on a block boundary.

This doesn't yet succeed, but I want to save this before
I do some other refactoring that might help get to it.

SVN-Revision: 4191
2012-01-22 23:56:28 -05:00
Tim Kientzle 8a8a13d657 Issue 225: Misreading directories in MSDOS Zip files.
These files don't put a POSIX "mode" value in the "external
attributes" field.  We used to always assume a regular file if we
didn't see that.

Now, the code leaves the mode set to zero in that case.  When we read
the local file header, the fallback heuristics will kick in and
examine the filename to determine whether this is a directory
or a regular file.

SVN-Revision: 4190
2012-01-22 22:21:30 -05:00
Tim Kientzle dc9a0fb489 Clarify an error message.
SVN-Revision: 4189
2012-01-22 14:53:42 -05:00
Tim Kientzle e235511e96 Libarchive 3.0.3
SVN-Revision: 4139
2012-01-13 00:32:07 -05:00
Tim Kientzle f443d1a06e Merge r4085 from trunk: Simplify finalizing the file size when
writing files on Windows.

SVN-Revision: 4138
2012-01-12 01:46:14 -05:00
Tim Kientzle dacf7241ff Remove the unused system types from the public headers. We stripped
out almost all of the system-specific ino_t, uid_t, gid_t, etc, types
from the libarchive public API, so these definitions are no longer
needed.
In practice, those types are broken on enough systems that it just
wasn't worth trying to use them.

SVN-Revision: 4137
2012-01-12 01:20:17 -05:00
Tim Kientzle bc52337161 Merge fixes for Issue 222 from trunk: Write entry data correctly
when writing sparse files to Pax archives using GNU tar 1.0 sparse format.

SVN-Revision: 4118
2012-01-10 02:17:48 -05:00
Tim Kientzle 95416d2509 Merge from trunk: whitespace cleanup.
SVN-Revision: 4117
2012-01-10 02:11:46 -05:00
Tim Kientzle af6512dd67 Merge from trunk: Allow building on systems that lack PATH_MAX definition.
SVN-Revision: 4116
2012-01-10 02:10:05 -05:00
Tim Kientzle 834380d492 Merge from trunk: always-true comparison.
SVN-Revision: 4115
2012-01-10 02:05:12 -05:00
Tim Kientzle 0252fc17bb Merge from trunk: Minor compiler warning cleanup.
SVN-Revision: 4114
2012-01-10 02:04:23 -05:00
Tim Kientzle e14c6362dc Record already-merged changes.
SVN-Revision: 4113
2012-01-10 02:01:29 -05:00
Tim Kientzle a96a996314 Record already-merged change.
SVN-Revision: 4112
2012-01-10 01:48:26 -05:00
Tim Kientzle 6ad4a1e1b8 Record already-merged changes.
SVN-Revision: 4111
2012-01-10 01:44:41 -05:00
Tim Kientzle 06a0b9a7a2 Merge spelling fixes from trunk.
SVN-Revision: 4110
2012-01-10 01:42:09 -05:00
Tim Kientzle e81d1da3f1 Record already-merged change.
SVN-Revision: 4109
2012-01-10 01:40:42 -05:00