Commit Graph

12840 Commits

Author SHA1 Message Date
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
antoine
bfd388c026 (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
Fix some wrong usages.
Note: this does not affect generated binaries as this argument is not used.

PR:		137213
Submitted by:	Eygene Ryabinkin (initial version)
MFC after:	1 month
2009-12-28 22:56:30 +00:00
delphij
2443a07e4f Grammar fix.
Submitted by:	Kenyon Ralph <kenyon kenyonralph com>
MFC after:	1 week
2009-12-28 18:51:26 +00:00
luigi
b41c473d90 bring the NGM_IPFW_COOKIE back into ng_ipfw.h, libnetgraph expects
to find it there. Unfortunately this reintroduces the dependency
on ip_fw_pfil.c
2009-12-28 12:29:13 +00:00
luigi
3065c48390 this file is also affected by the ipfw changes 2009-12-28 10:48:01 +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
kientzle
9de6e5e034 Catch certain gzip failures at close time. 2009-12-28 02:05:28 +00:00
kientzle
2c11cde23a Remove a dead assignment. 2009-12-28 02:04:42 +00:00