]>
git.ipfire.org Git - thirdparty/libarchive.git/log
Tim Kientzle [Sat, 5 Jun 2010 02:28:31 +0000 (22:28 -0400)]
Support for reading Mac OS-style metadata blobs.
This adds support for such blobs to archive_entry and
extends the tar reader to identify the special entries
and store them in the archive_entry.
Remaining: extend archive_write_disk to actually
restore the metadata to the file on disk.
SVN-Revision: 2446
Tim Kientzle [Sat, 5 Jun 2010 01:52:51 +0000 (21:52 -0400)]
Limit the scope of a variable.
SVN-Revision: 2445
Tim Kientzle [Sat, 5 Jun 2010 01:51:47 +0000 (21:51 -0400)]
If the temporary file gets truncated for any reason, die
instead of getting stuck in an infinite loop.
SVN-Revision: 2444
Tim Kientzle [Fri, 4 Jun 2010 16:11:32 +0000 (12:11 -0400)]
Switch version to 3.0; we should be exercising the 3.0 API in our everyday testing and development.
SVN-Revision: 2443
Tim Kientzle [Fri, 4 Jun 2010 16:10:49 +0000 (12:10 -0400)]
An lzip test reference file was omitted from the distribution.
SVN-Revision: 2442
Tim Kientzle [Thu, 3 Jun 2010 06:27:45 +0000 (02:27 -0400)]
archive_read_data_block is public, even in libarchive 3.0.
SVN-Revision: 2441
Michihiro NAKAJIMA [Tue, 1 Jun 2010 10:59:08 +0000 (06:59 -0400)]
Eliminate a warning about singed/unsigned mismatch.
SVN-Revision: 2440
Michihiro NAKAJIMA [Tue, 1 Jun 2010 10:51:42 +0000 (06:51 -0400)]
Compiling on msys complains using %zd with ssize_t.
SVN-Revision: 2439
Michihiro NAKAJIMA [Tue, 1 Jun 2010 10:45:39 +0000 (06:45 -0400)]
On msys, include unistd.h before we redefine ftruncate() to
prevent build error from a type mismatch of ftruncate().
Msys has a unistd.h file and it defines ftruncate() with off_t, and
then it will causes build error after we redefine ftruncate() as
__la_ftruncate(int, int64_t).
SVN-Revision: 2438
Tim Kientzle [Mon, 31 May 2010 19:01:37 +0000 (15:01 -0400)]
Eliminate some more off_t usage; mark some that are okay because
they're only used on specific platforms where off_t is
required.
SVN-Revision: 2437
Tim Kientzle [Mon, 31 May 2010 18:48:59 +0000 (14:48 -0400)]
I think I've now removed every off_t from the format handlers.
SVN-Revision: 2436
Tim Kientzle [Mon, 31 May 2010 18:46:52 +0000 (14:46 -0400)]
Style: whitespace
SVN-Revision: 2435
Tim Kientzle [Mon, 31 May 2010 18:46:16 +0000 (14:46 -0400)]
Change a bunch more internal off_t to int64_t.
SVN-Revision: 2434
Tim Kientzle [Mon, 31 May 2010 18:42:21 +0000 (14:42 -0400)]
Use int64_t here to match archive_windows.h
SVN-Revision: 2433
Tim Kientzle [Mon, 31 May 2010 18:37:17 +0000 (14:37 -0400)]
For internal APIs, we don't need to worry about the API version.
SVN-Revision: 2432
Tim Kientzle [Mon, 31 May 2010 18:20:46 +0000 (14:20 -0400)]
Handle EINTR in write calls:
* In low-level writers, just retry after EINTR
* In archive_write, handle short writes by generating additional writes for the remainder of the block.
In particular, this fixes a problem with bsdtar failing if you try to use the SIGINT handler.
SVN-Revision: 2431
Michihiro NAKAJIMA [Sun, 30 May 2010 14:45:07 +0000 (10:45 -0400)]
Add condition macros of HASH for Mac OS X, which macros I forgot to add into build/cmake/config.h.in at r2415.
SVN-Revision: 2420
Michihiro NAKAJIMA [Sun, 30 May 2010 14:31:22 +0000 (10:31 -0400)]
Check if xar writer is supported.
SVN-Revision: 2419
Michihiro NAKAJIMA [Fri, 28 May 2010 17:29:06 +0000 (13:29 -0400)]
Add xar writer.
SVN-Revision: 2417
Michihiro NAKAJIMA [Fri, 21 May 2010 16:03:39 +0000 (12:03 -0400)]
On Mac OS X, HASH functions are available in libSystem, which is the system library and including libc,libinfo,libkvm,libm and libpthread.
SVN-Revision: 2415
Michihiro NAKAJIMA [Thu, 20 May 2010 14:50:00 +0000 (10:50 -0400)]
Enable HAVE_SYS_TYPES_H macro during HASH detecting because
md5.h,sha1.h and sha2.h requre sys/types.h
SVN-Revision: 2412
Michihiro NAKAJIMA [Tue, 18 May 2010 06:43:09 +0000 (02:43 -0400)]
TRY_COMPILE requires specific include paths and library paths.
if there are no specific library, TRY_COMPILE wont link any additional
libraries, it means ARCHIVE_HASH_*_OPENSSL are never detected.
SVN-Revision: 2411
Michihiro NAKAJIMA [Tue, 18 May 2010 06:12:37 +0000 (02:12 -0400)]
For the second time and later, Prevent unneeded HASH detection.
SVN-Revision: 2410
Tim Kientzle [Sun, 16 May 2010 20:40:04 +0000 (16:40 -0400)]
Ooops. r2403 accidentally included some debugging shims.
SVN-Revision: 2406
Tim Kientzle [Sun, 16 May 2010 20:35:38 +0000 (16:35 -0400)]
Retry the read() operation on EINTR. In particular, tar should not die on SIGINT.
SVN-Revision: 2405
Tim Kientzle [Sun, 16 May 2010 20:34:23 +0000 (16:34 -0400)]
HAVE_SIGACTION is required by tar.
SVN-Revision: 2404
Tim Kientzle [Sun, 16 May 2010 20:33:30 +0000 (16:33 -0400)]
Properly support filter(-1) as a shorthand for "the last filter",
which is always the client proxy. In particular, tar uses this for
reporting position in the input stream.
SVN-Revision: 2403
Michihiro NAKAJIMA [Sat, 15 May 2010 06:13:13 +0000 (02:13 -0400)]
Msys requires wincypt.h to use CALG_* macros.
SVN-Revision: 2402
Tim Kientzle [Fri, 14 May 2010 14:23:59 +0000 (10:23 -0400)]
Fix a return-value mixup when time restore failed.
Restore ACLs after restoring time. (NFS4 ACLs
can prohibit the owner from setting time on a file.)
SVN-Revision: 2401
Tim Kientzle [Fri, 14 May 2010 10:41:02 +0000 (06:41 -0400)]
On Solaris 9, root is in group 1.
SVN-Revision: 2397
Michihiro NAKAJIMA [Fri, 14 May 2010 07:38:07 +0000 (03:38 -0400)]
Divide the code detecting ARCHIVE_HASH_*_WIN from CHECK_MD() to
clarify what CHECK_MD does. Basically, CHECK_MD prove that we
can map the HASH functions, which have several types of name, to
archive_{hash name}_init, archive_{hash name}_final and
archive_{hash name}_update through archive_hash.h.
But using ARCHIVE_HASH_*_WIN requires if ACLG_{hash name} is
available, and then __la_hash_*() used under the ARCHIVE_HASH_*_WIN
are defined at archive_windows.c. it's completely different the way
the CHECK_MD does.
SVN-Revision: 2395
Joerg Sonnenberger [Thu, 13 May 2010 21:44:23 +0000 (17:44 -0400)]
No empty BUGS section. It's not like they don't exist...
SVN-Revision: 2392
Joerg Sonnenberger [Thu, 13 May 2010 21:38:34 +0000 (17:38 -0400)]
\\ -> \e
SVN-Revision: 2391
Michihiro NAKAJIMA [Wed, 12 May 2010 12:41:18 +0000 (08:41 -0400)]
__la_hash_*() are defined at archive_windows.c, those won't appear
on other platform.
SVN-Revision: 2390
Michihiro NAKAJIMA [Wed, 12 May 2010 08:59:09 +0000 (04:59 -0400)]
This is a part of r2388. I forgot.
Use directoly CALG_* macro to work CHECK_MD() with ARCHIVE_HASH_*_WIN.
SVN-Revision: 2389
Michihiro NAKAJIMA [Wed, 12 May 2010 08:41:03 +0000 (04:41 -0400)]
Avoid TRY_COMPILE() failure when detecting ARCHIVE_HASH_*_WIN.
SVN-Revision: 2388
Michihiro NAKAJIMA [Wed, 12 May 2010 08:06:54 +0000 (04:06 -0400)]
Simplify an MD_CHECK macro in CMakeLists.txt.
Using MD_CHECK_{hash name} confuses a person who uses CMake -U option,
which removes a specified variable from CMakeCache.
SVN-Revision: 2387
Michihiro NAKAJIMA [Wed, 12 May 2010 07:05:43 +0000 (03:05 -0400)]
Set a proper include directory path for hash detecting with CMake.
SVN-Revision: 2386
Michihiro NAKAJIMA [Wed, 12 May 2010 06:22:10 +0000 (02:22 -0400)]
Move the definitions related to hash in archive_windows.h into archive_hash.h
SVN-Revision: 2385
Tim Kientzle [Wed, 12 May 2010 02:27:24 +0000 (22:27 -0400)]
Remove an unused variable.
SVN-Revision: 2384
Brian Harring [Tue, 11 May 2010 09:20:42 +0000 (05:20 -0400)]
fix fwrites... remember, semi modern glibc's, the return on it is marked for checking, thus when doing maintenance/dev builds (which converts warnings to errors) unchecked fwrites are compile failures
SVN-Revision: 2382
Michihiro NAKAJIMA [Tue, 11 May 2010 02:35:17 +0000 (22:35 -0400)]
_WIN32_WINNT has been defined at config.h.
SVN-Revision: 2380
Michihiro NAKAJIMA [Mon, 10 May 2010 15:51:56 +0000 (11:51 -0400)]
Add "__la_" prefix to our hash functions defined at archive_windows.c
SVN-Revision: 2379
Michihiro NAKAJIMA [Mon, 10 May 2010 15:34:32 +0000 (11:34 -0400)]
Tweak archive_windows.[ch] for ARCHIVE_HASH_*, new hash detection.
SVN-Revision: 2378
Michihiro NAKAJIMA [Mon, 10 May 2010 14:29:48 +0000 (10:29 -0400)]
Add ARCHIVE_HASH_*_WIN macro for CMake build system.
SVN-Revision: 2377
Michihiro NAKAJIMA [Mon, 10 May 2010 13:10:28 +0000 (09:10 -0400)]
Do not always compile for ARCHIVE_HASH_* on CMake build system.
Put the results in the CMake Cache.
SVN-Revision: 2376
Joerg Sonnenberger [Sun, 9 May 2010 23:48:04 +0000 (19:48 -0400)]
Rewrite the hash function detection. Build an actual test program using
archive_hash.h and link against libcrypto if needed.
Fixes issue #73 and #86.
SVN-Revision: 2375
Tim Kientzle [Sun, 9 May 2010 00:35:34 +0000 (20:35 -0400)]
Improve the sample code in archive_write.3
SVN-Revision: 2374
Michihiro NAKAJIMA [Thu, 6 May 2010 02:32:28 +0000 (22:32 -0400)]
Add lzip write filter and --lzip option to bsdtar.
SVN-Revision: 2373
Michihiro NAKAJIMA [Wed, 5 May 2010 06:40:07 +0000 (02:40 -0400)]
Add a compatibity test for lzip.
SVN-Revision: 2371
Michihiro NAKAJIMA [Wed, 5 May 2010 06:37:05 +0000 (02:37 -0400)]
For liblzma initialization for lzip, use lzma_raw_decoder() instead
of lzma_alone_decoder(), because lzma_code() refuse some dictionary
size, which lzip uses.
SVN-Revision: 2370
Michihiro NAKAJIMA [Tue, 4 May 2010 14:41:15 +0000 (10:41 -0400)]
Fix comments.
SVN-Revision: 2369
Michihiro NAKAJIMA [Tue, 4 May 2010 14:33:46 +0000 (10:33 -0400)]
Add support for lzip (read filter).
SVN-Revision: 2368
Michihiro NAKAJIMA [Tue, 4 May 2010 13:52:00 +0000 (09:52 -0400)]
Rename a variable name from lzma_stram_init to lzma_stream_init_data.
SVN-Revision: 2367
Michihiro NAKAJIMA [Tue, 4 May 2010 13:40:46 +0000 (09:40 -0400)]
Give a value to HAVE_GETGRNAM_R and HAVE_GETPWNAM_R.
SVN-Revision: 2366
Michihiro NAKAJIMA [Tue, 4 May 2010 09:54:05 +0000 (05:54 -0400)]
Fix build error with liblzma on MSVC.
SVN-Revision: 2365
Michihiro NAKAJIMA [Mon, 3 May 2010 06:41:03 +0000 (02:41 -0400)]
Rewrite the procedure finding a hardlink target on ISO writer.
SVN-Revision: 2363
Tim Kientzle [Mon, 3 May 2010 02:55:27 +0000 (22:55 -0400)]
Cmake updates:
* Remove optarg, optind checks which are no longer used
* Remove CreateHardLink{A,W} checks, since these are probed at runtime
* Add defines for getgrnam_r getpwnam_r
SVN-Revision: 2362
Tim Kientzle [Mon, 3 May 2010 02:54:16 +0000 (22:54 -0400)]
Fix 'make dist': build/windows no longer exists
SVN-Revision: 2361
Michihiro NAKAJIMA [Sun, 2 May 2010 13:35:43 +0000 (09:35 -0400)]
Test that ISO writer can treat the entry which has a wrong path, and
does not change its output.
SVN-Revision: 2360
Michihiro NAKAJIMA [Sun, 2 May 2010 13:20:05 +0000 (09:20 -0400)]
While entries are added, return ARCHIVE_FAILED if the circumstance
is continuable.
SVN-Revision: 2359
Tim Kientzle [Sun, 2 May 2010 06:33:00 +0000 (02:33 -0400)]
Test tar --gid --gname --uid --uname options
Fix a couple of bugs they uncovered.
SVN-Revision: 2358
Michihiro NAKAJIMA [Sun, 2 May 2010 04:42:56 +0000 (00:42 -0400)]
Remove uid= and gid= options from ISO writer.
Suggested by: Tim Kientzle
SVN-Revision: 2357
Michihiro NAKAJIMA [Sun, 2 May 2010 04:15:37 +0000 (00:15 -0400)]
Tweak the result of comparing identifiers for __archive_rb_*
SVN-Revision: 2356
Michihiro NAKAJIMA [Sun, 2 May 2010 04:01:06 +0000 (00:01 -0400)]
Use ARCHIVE_RB_TREE_FOREACH() macro.
Temporary code caused SEGFAULTS since __archive_rb_tree_iterate() was fixed.
SVN-Revision: 2355
Tim Kientzle [Sun, 2 May 2010 03:54:02 +0000 (23:54 -0400)]
Move the private ACL parser declaration out of the public header.
It should never have been here in the first place.
SVN-Revision: 2354
Tim Kientzle [Sun, 2 May 2010 03:51:22 +0000 (23:51 -0400)]
Clarify the explanation of archive_write_finish_entry.
SVN-Revision: 2353
Tim Kientzle [Sun, 2 May 2010 03:50:49 +0000 (23:50 -0400)]
Remove the old manually-maintained Windows build files, now that the
cmake build system has proven itself.
SVN-Revision: 2352
Tim Kientzle [Sun, 2 May 2010 03:49:46 +0000 (23:49 -0400)]
Since extattrs get written to disk at file close, the test here really
needs to verify the result of write_finish_entry.
SVN-Revision: 2351
Tim Kientzle [Sun, 2 May 2010 03:48:44 +0000 (23:48 -0400)]
Add cmake test for EXTATTR_NAMESPACE_USER to fix extattr support on FreeBSD in cmake build.
SVN-Revision: 2350
Tim Kientzle [Sat, 1 May 2010 21:18:38 +0000 (17:18 -0400)]
Add --gid, --gname, --uid, --uname options to tar.
These allow you to override the user/group information both
when creating an archive and when restoring an archive.
I've also reimplemented --numeric-owner to be a synonym
for --gname="" --uname="".
Still needs tests...
SVN-Revision: 2349
Tim Kientzle [Sat, 1 May 2010 17:47:01 +0000 (13:47 -0400)]
-vV is a synonym for -v
SVN-Revision: 2348
Tim Kientzle [Sat, 1 May 2010 17:46:26 +0000 (13:46 -0400)]
Some Solaris systems seem to give root a gid of 1.
SVN-Revision: 2347
Tim Kientzle [Sat, 1 May 2010 16:44:25 +0000 (12:44 -0400)]
test cpio -0
SVN-Revision: 2346
Joerg Sonnenberger [Fri, 30 Apr 2010 13:59:24 +0000 (09:59 -0400)]
Fix archive_rb_iterate for the min/max case.
SVN-Revision: 2345
Michihiro NAKAJIMA [Thu, 29 Apr 2010 08:47:30 +0000 (04:47 -0400)]
Use __archive_rb_tree_init() instead of directly initialization.
SVN-Revision: 2343
Joerg Sonnenberger [Thu, 29 Apr 2010 05:32:43 +0000 (01:32 -0400)]
Use custom include guard
SVN-Revision: 2342
Michihiro NAKAJIMA [Thu, 29 Apr 2010 05:07:33 +0000 (01:07 -0400)]
Split the procedure, which is removing a child from children chain and
red black tree, from isoent_rr_move().
SVN-Revision: 2341
Michihiro NAKAJIMA [Thu, 29 Apr 2010 04:48:31 +0000 (00:48 -0400)]
Add some test pattern to ISO writer.
- Check adding entries to the same directory(not root directory) works.
SVN-Revision: 2340
Michihiro NAKAJIMA [Thu, 29 Apr 2010 03:31:40 +0000 (23:31 -0400)]
Switch red black tree routine to use __archive_rb_* functions.
SVN-Revision: 2339
Michihiro NAKAJIMA [Thu, 29 Apr 2010 03:23:38 +0000 (23:23 -0400)]
Add __archive_ prefix to rb_tree_remove_node().
SVN-Revision: 2338
Michihiro NAKAJIMA [Thu, 29 Apr 2010 03:14:22 +0000 (23:14 -0400)]
Unbreak build on Windows.
SVN-Revision: 2337
Joerg Sonnenberger [Wed, 28 Apr 2010 18:16:39 +0000 (14:16 -0400)]
Hook up archive_rb.[ch] to the build.
SVN-Revision: 2336
Joerg Sonnenberger [Wed, 28 Apr 2010 18:05:20 +0000 (14:05 -0400)]
Port NetBSD's rb.c. Changes here are:
- Use archive_ prefix for types and __archive_ prefix for the functions
to avoid conflicts with system headers.
- No debug code, statistics and only the "small" code.
- No stdbool.h.
The only real assumption is that pointers have 4 bytes alignment.
SVN-Revision: 2335
Michihiro NAKAJIMA [Wed, 28 Apr 2010 14:25:32 +0000 (10:25 -0400)]
Rewrite the shortcut of finding a parent entry.
SVN-Revision: 2334
Michihiro NAKAJIMA [Wed, 28 Apr 2010 13:20:12 +0000 (09:20 -0400)]
Remove unused code.
SVN-Revision: 2333
Michihiro NAKAJIMA [Wed, 28 Apr 2010 13:15:17 +0000 (09:15 -0400)]
rb_INSERT() can tell us if there is the same entry.
SVN-Revision: 2332
Michihiro NAKAJIMA [Wed, 28 Apr 2010 12:10:20 +0000 (08:10 -0400)]
Fix a build failure.
SVN-Revision: 2331
Michihiro NAKAJIMA [Wed, 28 Apr 2010 12:03:25 +0000 (08:03 -0400)]
Fix a comment terminater.
SVN-Revision: 2330
Michihiro NAKAJIMA [Wed, 28 Apr 2010 11:58:49 +0000 (07:58 -0400)]
Check if there is the same name entry before inserting a new entry.
SVN-Revision: 2329
Michihiro NAKAJIMA [Wed, 28 Apr 2010 11:52:20 +0000 (07:52 -0400)]
Make sure the return value of get_path_component() is valid.
SVN-Revision: 2328
Michihiro NAKAJIMA [Wed, 28 Apr 2010 11:21:35 +0000 (07:21 -0400)]
Do not access a released memory.
SVN-Revision: 2327
Michihiro NAKAJIMA [Wed, 28 Apr 2010 09:42:48 +0000 (05:42 -0400)]
Rewrite the code building ISO9660/joliet identifiers to use red black tree.
This change gives a very good performance to ISO writer.
SVN-Revision: 2326
Michihiro NAKAJIMA [Wed, 28 Apr 2010 05:47:54 +0000 (01:47 -0400)]
Normalize red block tree routine.
SVN-Revision: 2325
Michihiro NAKAJIMA [Wed, 28 Apr 2010 04:37:53 +0000 (00:37 -0400)]
Initial implement of red black tree to speed up making ISO image with
many entries(about over 100K) in a directory.
In my environment this is twice as fast as previous way.
SVN-Revision: 2324
Michihiro NAKAJIMA [Tue, 27 Apr 2010 11:16:42 +0000 (07:16 -0400)]
Remove relaxed-filenames option.
SVN-Revision: 2321
Michihiro NAKAJIMA [Tue, 27 Apr 2010 07:43:56 +0000 (03:43 -0400)]
Speed up a lot of directory traversal.
This change is one of fixing issue 81 but still laying it.
SVN-Revision: 2320
Michihiro NAKAJIMA [Tue, 27 Apr 2010 06:09:03 +0000 (02:09 -0400)]
Remove an allow-pvd-lowercase option.
SVN-Revision: 2319
Michihiro NAKAJIMA [Tue, 27 Apr 2010 05:19:48 +0000 (01:19 -0400)]
Unbreak build on the system which does not have zlib.
SVN-Revision: 2318
Michihiro NAKAJIMA [Tue, 27 Apr 2010 04:43:26 +0000 (00:43 -0400)]
Clean up the code finding a child from its parent directory.
SVN-Revision: 2317