Commit Graph

12803 Commits

Author SHA1 Message Date
Konstantin Belousov
358ed16f75 Use clock_gettime(CLOCK_SECOND) instead of gettimeofday(2) for
implementation of time(3). CLOCK_SECOND is much faster.

No objections from:	phk
Submitted by:	Valentin Nechayev <netch segfault kiev ua>
MFC after:	1 week
2009-12-29 12:47:47 +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
Antoine Brodin
13e403fdea (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
Xin LI
31faa7deeb Grammar fix.
Submitted by:	Kenyon Ralph <kenyon kenyonralph com>
MFC after:	1 week
2009-12-28 18:51:26 +00:00
Luigi Rizzo
e59084e086 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 Rizzo
b6d33186d2 this file is also affected by the ipfw changes 2009-12-28 10:48:01 +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
Tim Kientzle
ee674fd0b9 Discourage people from using this header outside of libarchive. 2009-12-28 02:17:53 +00:00
Tim Kientzle
1bb8e82188 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
Tim Kientzle
f1bfc23207 Sync with googlecode some changes that have no impact on FreeBSD. 2009-12-28 02:14:09 +00:00
Tim Kientzle
96de948146 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
Tim Kientzle
94cb976997 Catch certain gzip failures at close time. 2009-12-28 02:05:28 +00:00