Commit Graph

770 Commits

Author SHA1 Message Date
obrien
205c21e4af libarchive is mixing libmd and libcrypto -- correct to use one or the other.
[mixing the two can be quite bad -- they define the same context structures,
 but with differing structure members (and sizes)]

Update the hash function support comments, and update config_freebsd.h
to match.

Approved by:	kientzle
2011-05-05 01:16:06 +00:00
kientzle
7aa4e35a24 Don't write data into an empty "file."
In particular, this check avoids a warning when
extracting directory entries from certain GNU tar
archives that store directory contents.

MFC after: 3 days
2010-12-07 16:48:01 +00:00
kientzle
709ff019d4 If the Zip reader doesn't see a PK signature block
because there's inter-entry garbage, just scan forward
to find the next one.  This allows us to handle a lot
of Zip archives that have been modified in-place.

Thanks to: Gleb Kurtsou for sending me a sample archive
2010-11-07 03:40:37 +00:00
uqs
2e19961474 Fix manpage markup. 2010-11-06 10:54:33 +00:00
kientzle
0f05cafdf8 Clarify the naming: Methods that free an object should
be called "free".  Retain the old "finish" names to preserve
source compatibility for now.
2010-11-05 05:11:54 +00:00
uqs
8ae3afcfad mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
2010-10-08 12:40:16 +00:00
joel
b833c74650 Fix typo. 2010-08-03 18:29:58 +00:00
bcr
66f0f0c4fa s/an struct/a struct
PR:             docs/148660
Submitted by:   Warren Block (wblock at wonkity dot com)
Reviewed by:    Tim Kientzle
Mentored by:    jkois
MFC after:      7 days
2010-07-17 12:53:57 +00:00
uqs
7ad97661e4 mdoc nitpicking: the title argument shall be uppercase 2010-06-11 06:03:47 +00:00
uqs
e644199c18 mdoc: consistently spell our email addresses <foo@FreeBSD.org>
Reviewed by:	ru
2010-05-19 08:57:53 +00:00
kientzle
f11cb3f4b9 Retry reads that fail with EINTR. This fixes a problem
with bsdtar failing on SIGINT.
2010-05-18 14:11:38 +00:00
delphij
bd4ac448d7 Fix build. 2010-05-17 07:06:54 +00:00
kientzle
02e2e7806f Reorganize slightly in preparation for making lzma and bz2 support conditional. 2010-05-16 20:43:17 +00:00
uqs
1ab3783e1a mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by:	mdocml lint run
Reviewed by:	ru
2010-05-13 12:07:55 +00:00
mm
696cb26078 Enable liblzma support in libarchive
Adjust dependencies for programs using libarchive
Add xz and linkage against liblzma to rescue system

Approved by:	kientzle, delphij (mentor)
MFC after:	2 weeks
2010-05-10 15:28:44 +00:00
uqs
4a10ff6f04 Remove redundant WARNS?=6 overrides and inherit the WARNS setting from
the toplevel directory.

This does not change any WARNS level and survives a make universe.

Approved by:        ed (co-mentor)
2010-03-02 18:44:08 +00:00
uqs
f41a820b03 Fix common misspelling of hierarchy
Pointed out by:		bf1783 at gmail
Approved by:		np (cxgb), kientzle (tar, etc.), philip (mentor)
2010-02-20 10:19:19 +00:00
uqs
89a7a155da Add missing newline in last line of file.
Uncovered via:	fromcvs vs. svn
Approved by:	ed (co-mentor)
2010-02-16 09:10:21 +00:00
kientzle
dace1f6d74 Don't try to hardlink block or character device nodes that come out
of cpio archives.
2010-01-23 07:57:17 +00:00
kientzle
a90eac212e Use a simpler memory-management strategy for the file objects.
Instead of trying to reference-count them and free them as soon
as they are no longer needed, we now just keep them around and free
them all when we release the archive object.  This fixes a number
of minor memory leaks, especially when reading damaged archives.
2010-01-23 07:55:53 +00:00
kientzle
5d107439de 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
kientzle
164ec789c7 Initialize the allocated 'struct zip'. 2010-01-23 07:52:44 +00:00
kientzle
643a6f51c1 Fix a memory leak when a filter fails to initialize. 2010-01-23 07:52:13 +00:00
ed
09818ac28e 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
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