Tim Kientzle
58efb33976
If we can't stat a file, return the correct ARCHIVE_FAILED (this entry can't
...
be processed any further) and a suitable error string.
In particular, this improves the error-reporting when cpio -o is
given a nonexistent filename.
2010-01-23 07:54:15 +00:00
Tim Kientzle
8b0eda3700
Initialize the allocated 'struct zip'.
2010-01-23 07:52:44 +00:00
Tim Kientzle
68c43d86d1
Fix a memory leak when a filter fails to initialize.
2010-01-23 07:52:13 +00:00
Ed Schouten
daaf575910
Build lib/ with WARNS=6 by default.
...
Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.
I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.
2010-01-02 09:58:07 +00:00
Tim Kientzle
e02dd0d514
Remove some test files that are no longer used.
2009-12-30 06:37:58 +00:00
Tim Kientzle
8c78c2959a
Reserve constants for RPM unwrapper and XAR reader.
2009-12-30 06:28:30 +00:00
Tim Kientzle
b54f125538
Libarchive in FreeBSD is now synced up with 2.7.901a from
...
libarchive.googlecode.com
2009-12-30 06:25:19 +00:00
Tim Kientzle
8088bef24c
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
Tim Kientzle
0a1d787383
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
Tim Kientzle
f124826e0d
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
Tim Kientzle
24b76fe47f
Rationalize the support for cryptographic hashes.
2009-12-29 06:39:07 +00:00
Tim Kientzle
87a571f88a
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
Tim Kientzle
9d7dd12525
Clear extraneous error messages.
2009-12-29 06:27:19 +00:00
Tim Kientzle
b1657eb07c
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
Tim Kientzle
84b1d75646
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
Tim Kientzle
25557ee5f4
Minor style fixes plus a fix for an obscure crash on certain malformed
...
mtree files.
2009-12-29 05:52:13 +00:00
Tim Kientzle
7f16f13149
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
Tim Kientzle
023a748ef3
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
Tim Kientzle
1f8bbec2a4
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
Tim Kientzle
88f5df0d39
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
Tim Kientzle
bb8a41af51
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
Tim Kientzle
dee0ce0cbd
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
Tim Kientzle
e2196d3e85
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
Tim Kientzle
081e9a983c
64-bit ino support and discourage bad use of this header.
2009-12-29 05:20:12 +00:00
Tim Kientzle
989f6ccc3f
Portability.
2009-12-28 06:59:35 +00:00
Tim Kientzle
0d722d6394
Remove some dead assignments, fix some declarations.
2009-12-28 03:33:05 +00:00
Tim Kientzle
e15da0400a
Clarify an example so Linux folks won't keep getting confused by this point.
2009-12-28 03:31:29 +00:00
Tim Kientzle
456bd00333
Compatibility with old systems with non-POSIX getpwuid_r/getgrgid_r.
2009-12-28 03:30:31 +00:00
Tim Kientzle
f773eba566
Fix some unused variables and dead assignments.
2009-12-28 03:28:21 +00:00
Tim Kientzle
108f9d8324
Remove an unused variable and an unreachable statement.
2009-12-28 03:25:33 +00:00
Tim Kientzle
409cc2477d
Fix line endings.
2009-12-28 03:24:56 +00:00
Tim Kientzle
354c05f65d
Discourage external use of this header.
2009-12-28 03:20:54 +00:00
Tim Kientzle
4ffba49a6f
Remove unused variable.
2009-12-28 03:14:30 +00:00
Tim Kientzle
6f1d1a5084
O_BINARY for Windows.
2009-12-28 03:13:49 +00:00
Tim Kientzle
966062dd11
Handle Zip CRC validation for uncompressed Zip archives even on
...
platforms that lack zlib.
2009-12-28 03:11:36 +00:00
Tim Kientzle
10f117ebc2
Include limits.h; remove unused variable.
2009-12-28 03:06:27 +00:00
Tim Kientzle
09bf59d4b9
Use ino64 interface.
2009-12-28 03:05:31 +00:00
Tim Kientzle
2b1f175936
Use new ino64 interface.
2009-12-28 03:03:00 +00:00
Tim Kientzle
9adedf9679
New archive_file_count() utility.
2009-12-28 02:58:14 +00:00
Tim Kientzle
042c735c81
Portability fixes.
2009-12-28 02:45:56 +00:00
Tim Kientzle
65d5426feb
Various portability fixes, plus:
...
* New "ino64" field.
* New UTF8 interfaces for hardlink/symlink updates
2009-12-28 02:41:27 +00:00
Tim Kientzle
13f322aec3
Remove an unused variable and an unnecessary increment.
2009-12-28 02:33:22 +00:00
Tim Kientzle
cc1e3ebe54
Eliminate an unused assignment.
2009-12-28 02:29:21 +00:00
Tim Kientzle
2866e9d5d0
Portability: Set the file descriptor to binary mode on Win32
2009-12-28 02:28:44 +00:00
Tim Kientzle
c0840e91d3
Discourage outside use of this internal header.
2009-12-28 02:26:06 +00:00
Tim Kientzle
c17fd585bb
Remove dead assignment.
2009-12-28 02:22:41 +00:00
Tim Kientzle
a5a14ed059
Portability:
...
* some non-FreeBSD platforms do actually define __FBSDID() in sys/cdefs.h
* Borland C <sigh>
2009-12-28 02:22:04 +00:00
Tim Kientzle
e9cb23e15d
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
Tim Kientzle
06225a399b
Allow more formats to be active at a time; discourage outside use.
2009-12-28 02:18:55 +00:00
Tim Kientzle
8ead7c052b
Enforce this as an internal-only header.
2009-12-28 02:18:26 +00:00