796 Commits

Author SHA1 Message Date
kientzle
cf3a89cae5 Remove some test files that are no longer used. 2009-12-30 06:37:58 +00:00
kientzle
55e0fdf678 Reserve constants for RPM unwrapper and XAR reader. 2009-12-30 06:28:30 +00:00
kientzle
62d14f706b Libarchive in FreeBSD is now synced up with 2.7.901a from
libarchive.googlecode.com
2009-12-30 06:25:19 +00:00
kientzle
2e55106068 UU decoder. Now that libarchive can recursively taste input streams,
you can do things like this:  tar xvf archive.tar.gz.uu
2009-12-30 06:12:03 +00:00
kientzle
fa94194ff8 A raft of test changes and improvements from the Googlecode repository.
In particular, this includes tests for the new features I've merged
over the last few days.
2009-12-30 05:59:21 +00:00
kientzle
c6d0b4dd8b Merge Michihiro NAKAJIMA's significant work on the ISO9660 reader
from googlecode:
 * Support for zisofs compressed entries
 * Support for relocated deep directories
 * Direct calculation of link counts for accurate nlink values
   even on images that lack Rockridge extensions
 * Faster handling of the internal file lists.
 * Better detection of ISO variants
2009-12-30 05:30:35 +00:00
kientzle
6e9959a0d1 Rationalize the support for cryptographic hashes. 2009-12-29 06:39:07 +00:00
kientzle
3558b2ba52 Essentially eliminate problems with false hardlinks in POSIX cpio
archives by generating synthetic ino values and mapping values
from disk into the new values.
2009-12-29 06:34:23 +00:00
kientzle
4ccc9e75ff Clear extraneous error messages. 2009-12-29 06:27:19 +00:00
kientzle
98c884f078 Zip write support for libarchive.
The initial implementation was developed by Anselm Strauss as part of
Google Summer of Code 2008, then completed by Joerg Sonnenberger.
2009-12-29 06:15:32 +00:00
kientzle
40c74f9008 If we're linking against liblzma, allow the decompressor to use up to
1<<30 bytes of memory, which is required for some streams.

Also, try to make the taster more discriminating about raw lzma streams.
The detection here is still really weak, though; please use xz instead
of lzma.
2009-12-29 06:06:20 +00:00
kientzle
9f1cacc2a4 Minor style fixes plus a fix for an obscure crash on certain malformed
mtree files.
2009-12-29 05:52:13 +00:00
kientzle
a587aab420 Be a little more skeptical of dev/ino matches when reading cpio files.
This eliminates some false-positives in the hardlink detection logic.
2009-12-29 05:50:34 +00:00
kientzle
b51f9a7986 Style and portability fixes for pax writer. Mostly very routine, except for:
* Use ino64 where appropriate
 * Don't pass atime or nsec to ustar formatter
2009-12-29 05:47:46 +00:00
kientzle
97620eccc8 Style fixes to tar reader:
For portability, prefer int64_t to off_t.
  Improve numeric overflow handling when parsing.
  Fix some variable types.
  Eliminate some unused results.
2009-12-29 05:44:39 +00:00
kientzle
de6816e634 Various style fixes to the 'newc' cpio writer:
* Warn about truncation of ino
 * Use a macro to hide the somewhat obscure pad-to-multiple-of-4 calculation
 * Eliminate some unused variables
2009-12-29 05:41:57 +00:00
kientzle
cbe5f60f48 Various fixes when creating objects on disk:
* Write xattrs last instead of first (required on platforms that use
   system xattrs for security attributes)
 * Better handling of chdir() failures
 * Don't bother trying to shorten files via seek()/write()
 * Fix build on systems that lack link()/symlink()/mknod()
 * Prefer futimens()/utimensat() when they're present
2009-12-29 05:35:40 +00:00
kientzle
25112939de Catch decompression failures earlier. In particular, this gives
immediate feedback if we fail to fork an external decompression program.
2009-12-29 05:30:23 +00:00
kientzle
8471ffeefd Various style and portability fixes, including:
* Enforce option interface can only be used before the archive is opened
 * Correctly handle large skips on platforms with 32-bit off_t
 * Use int64_t instead of off_t
2009-12-29 05:28:28 +00:00
kientzle
7bdc19612b 64-bit ino support and discourage bad use of this header. 2009-12-29 05:20:12 +00:00
kientzle
e86a477412 Portability. 2009-12-28 06:59:35 +00:00
kientzle
1a725d203e Remove some dead assignments, fix some declarations. 2009-12-28 03:33:05 +00:00
kientzle
36429d6a27 Clarify an example so Linux folks won't keep getting confused by this point. 2009-12-28 03:31:29 +00:00
kientzle
751833b2d3 Compatibility with old systems with non-POSIX getpwuid_r/getgrgid_r. 2009-12-28 03:30:31 +00:00
kientzle
749f336c04 Fix some unused variables and dead assignments. 2009-12-28 03:28:21 +00:00
kientzle
2533f9e873 Remove an unused variable and an unreachable statement. 2009-12-28 03:25:33 +00:00
kientzle
8ae7c78a5f Fix line endings. 2009-12-28 03:24:56 +00:00
kientzle
49d75536f6 Discourage external use of this header. 2009-12-28 03:20:54 +00:00
kientzle
77b3bad2c6 Remove unused variable. 2009-12-28 03:14:30 +00:00
kientzle
6bd6257279 O_BINARY for Windows. 2009-12-28 03:13:49 +00:00
kientzle
21be9a3355 Handle Zip CRC validation for uncompressed Zip archives even on
platforms that lack zlib.
2009-12-28 03:11:36 +00:00
kientzle
c3c58ccb3c Include limits.h; remove unused variable. 2009-12-28 03:06:27 +00:00
kientzle
9a47973065 Use ino64 interface. 2009-12-28 03:05:31 +00:00
kientzle
4fa2e480dc Use new ino64 interface. 2009-12-28 03:03:00 +00:00
kientzle
b1d1d36a22 New archive_file_count() utility. 2009-12-28 02:58:14 +00:00
kientzle
cd7df27c58 Portability fixes. 2009-12-28 02:45:56 +00:00
kientzle
5b4a30a490 Various portability fixes, plus:
* New "ino64" field.
 * New UTF8 interfaces for hardlink/symlink updates
2009-12-28 02:41:27 +00:00
kientzle
a591c39057 Remove an unused variable and an unnecessary increment. 2009-12-28 02:33:22 +00:00
kientzle
d9802a8c44 Eliminate an unused assignment. 2009-12-28 02:29:21 +00:00
kientzle
0ce60e8858 Portability: Set the file descriptor to binary mode on Win32 2009-12-28 02:28:44 +00:00
kientzle
110ffdeb53 Discourage outside use of this internal header. 2009-12-28 02:26:06 +00:00
kientzle
8b011c5d8a Remove dead assignment. 2009-12-28 02:22:41 +00:00
kientzle
49f605d812 Portability:
* some non-FreeBSD platforms do actually define __FBSDID() in sys/cdefs.h
 * Borland C <sigh>
2009-12-28 02:22:04 +00:00
kientzle
5796104304 Portability: terminate abnormally via abort() instead of segfault,
watch the return value from write(), and avoid signed arithmetic on
unsigned values.
2009-12-28 02:20:23 +00:00
kientzle
0e3650b26a Allow more formats to be active at a time; discourage outside use. 2009-12-28 02:18:55 +00:00
kientzle
d2acaa3902 Enforce this as an internal-only header. 2009-12-28 02:18:26 +00:00
kientzle
ac6b305380 Discourage people from using this header outside of libarchive. 2009-12-28 02:17:53 +00:00
kientzle
c28b62ef5f Compatibility: I found some more compilers that don't like 'inline' keyword.
Protection:  Discourage people from using this header outside libarchive.
2009-12-28 02:17:15 +00:00
kientzle
55a923f0e8 Sync with googlecode some changes that have no impact on FreeBSD. 2009-12-28 02:14:09 +00:00
kientzle
c947d50aa1 Compatibility fix for some older systems with non-POSIX getgrnam_r/getpwnam_r
and a minor style fix for the hash function.
2009-12-28 02:09:57 +00:00