summaryrefslogtreecommitdiffstats
path: root/lib/libarchive
Commit message (Collapse)AuthorAgeFilesLines
* Fiz /usr/bin/unzip: A bug deep in libarchive's read-ahead logickientzle2009-09-082-3/+6
| | | | | | | | | | | | (incorrect handling of zero-length reads before the copy buffer is allocated) is masked by the iso9660 taster. Tar and cpio both enable that taster so were protected from the bug; unzip is susceptible. This both fixes the bug and updates the test harness to exercise this case. Submitted by: Ed Schouten diagnosed the bug and drafted a patch MFC after: 7 days
* Update tests to match r195873, which corrected how hardlinked fileskientzle2009-09-083-18/+40
| | | | | | on iso9660 images were returned. While I'm poking around, update some comments around this area to try to clarify what's going on and what still remains to be improved.
* The parser for Rockridge symlinks tended to insertkientzle2009-07-261-8/+8
| | | | | | | | extra slashes at the beginning of absolute targets. Thanks to Jung-uk Kim for pointing this out to me. Approved by: re (kib)
* Libarchive recognizes hardlinked files on ISO images,kientzle2009-07-251-0/+1
| | | | | | | | | | | but returned them incorrectly, causing tar to actually erase the resulting file while trying to restore the link. This one-line fix corrects the hardlink descriptions to avoid this problem. Thanks to Jung-uk Kim for pointing this out. Approved by: re (kib)
* Bump the version of all non-symbol-versioned shared libraries inkensmith2009-07-191-1/+1
| | | | | | | | preparation for 8.0-RELEASE. Add the previous version of those libraries to ObsoleteFiles.inc and bump __FreeBSD_Version. Reviewed by: kib Approved by: re (rwatson)
* Fix "tar --options=iso9660:joliet" and other useskientzle2009-06-201-4/+5
| | | | of format-specific options.
* Include libmd and libcrypto in DPADDkientzle2009-05-301-3/+4
|
* Link libarchive against -lmd and -lcrypto.kientzle2009-05-301-1/+2
| | | | Thanks to Ed Schouten for the clue.
* Include the 2 byte length field for the optional "extra data"kientzle2009-05-231-0/+1
| | | | | | | field when computing the length of the gzip header. Thanks to Dag-Erling for pointing me to the OpenSSH tarballs, which are the first files I've seen that actually used this field.
* Eliminate duplicate error messages from "tar c".kientzle2009-05-131-0/+1
| | | | Reported by: pav@
* Partially revert r191171, which went too far in tryingkientzle2009-05-071-20/+49
| | | | | | | | | | | | | | to eliminate some duplicated code. In particular, archive_read_open_filename() has different close handling than archive_read_open_fd(), so delegating the former to the latter in the degenerate case (a NULL filename is treated as stdin) broke reading from pipelines. In particular, this fixes occasional port failures that were seen when using "gunzip | tar" pipelines under /bin/csh. Thanks to Alexey Shuvaev for reporting this failure and patiently helping me to track down the cause.
* Document the liblzma support.kientzle2009-04-271-0/+3
| | | | | | | | Unfortunately, liblzma itself is GPLed, so unlikely to become part of the FreeBSD base system. However, the core lzma compression/decompression code is public domain, so it should be feasible for someone to create a compatible library without the GPL strings.
* Symlink some additional man page entries.kientzle2009-04-271-0/+7
|
* Merge r991 from libarchive.googlecode.com: Various updateskientzle2009-04-271-8/+55
| | | | | to archive_read.3 manpage, including documentation for the new "raw" handler.
* Merge r990,r1044 from libarchive.googlecode.com:kientzle2009-04-277-2/+292
| | | | | | | | | read_support_format_raw() allows people to exploit libarchive's automatic decompression support by simply stubbing out the archive format handler. The raw handler is not enabled by support_format_all(), of course. It bids 1 on any non-empty input and always returns a single entry named "data" with no properties set.
* Merge r1061,r1062,r1063 from libarchive.googlecode.com:kientzle2009-04-274-1/+70
| | | | | | | | | | Fix reading big-endian binary cpio archives, and add a test. While I'm here, add a note about Solaris ACL extension for cpio, which should be relatively straightforward to support. Thanks to: Edward Napierala, who sent me a big-endian cpio archive from a Solaris system he's been playing with. Pointy hat: me
* Merge r1034 from libarchive.googlecode.com:kientzle2009-04-272-25/+25
| | | | Put a much larger file on the reference ISO for this test.
* Merge r1058 from libarchive.googlecode.com: Require that eachkientzle2009-04-272-7/+13
| | | | test source file has exactly one DEFINE_TEST().
* ino_t varies across platforms; casting (int) here avoidskientzle2009-04-271-2/+3
| | | | various pointless complaints.
* Merge r1032 from libarchive.googlecode.com:kientzle2009-04-272-12/+16
| | | | | | | Make test_fuzz a bit more sensitive by actually reading the body of each entry instead of skipping it. While I'm here, move the "UnsupportedCompress" macro into the only file that still uses it.
* Merge r1054,r1060 from libarchive.googlecode.com:kientzle2009-04-272-6/+19
| | | | | * assertEqualMem() now takes void * arguments * Be a little smarter about what we hexdump when assertEqualMem() fails
* Merge r1021 from libarchive.googlecode.com:kientzle2009-04-272-2/+14
| | | | If we know it's a socket, say so.
* Merge r1052,r1055 from libarchive.googlecode.com:kientzle2009-04-274-0/+5
| | | | Clear the error flag on entry to a few more API functions.
* Merge r1053,r1055,r1056,r1057,r1065 from libarchive.googlecode.com:kientzle2009-04-276-48/+314
| | | | | | | | | | | | * Fix parsing of POSIX.1e ACLs from Solaris tar archives * Test the above * Preserve the order of POSIX.1e ACL entries * Update tests whose results depended on the order of ACL entries * Identify NFSv4 ACLs in Solaris tar archives and warn that they're not yet supported. (In particular, don't try to parse them as POSIX.1e ACLs.) Thanks to: Edward Napierala sent me some Solaris 10 tar archives to test
* Merge r988,r1064 from libarchive.googlecode.com:kientzle2009-04-272-12/+24
| | | | | | | | | * Split whiny skip function to create a new best-effort skip_lenient() * Correctly increment the top-level file position only for the top filter * Simulate skip by reading against the current filter, not the top filter The latter two bugs aren't currently visible because no existing filter delegates skip operations.
* Reading an mtree file is supposed to providekientzle2009-04-262-2/+15
| | | | | | | | | | | | | access to the file data (if the file exists on disk). This was broken for the first regular file; fix it and add a test so it won't break again. In particular, this fixes the following idiom for creating a tar archive in which every file is owned by root: tar cf - --format=mtree . \ | sed -e 's/uname=[a-z]*/uname=root/' -e 's/uid=[0-9]*/uid=0/' \ | tar cf - @-
* Various improvements to the tar.5 manpage, includingkientzle2009-04-261-18/+105
| | | | | | descriptions of the GNU tar "posix-style" sparse format, clarification of the Solaris tar ACL storage, and a few comments about Mac OS X tar's resource storage.
* Exit with ARCHIVE_FATAL if the ISO image is truncated.kientzle2009-04-261-1/+1
|
* Remove an unused variable.kientzle2009-04-261-2/+1
| | | | Thanks to: Christoph Mallon
* Rely on OpenSSL bits only if we're building a system with OpenSSL.kientzle2009-04-183-20/+22
| | | | | Also, adjust the MD5 calls to rely on libmd instead of libcrypto, so we keep MD5 support even in the !OpenSSL case.
* Correct and update the manpage to includekientzle2009-04-181-13/+47
| | | | | more details about some of the formats and to briefly describe the mtree writing capability.
* Disabling the crypto bits should quiet tinderbox while Ikientzle2009-04-171-0/+8
| | | | track down the library dependencies that are screwing up the /rescue build.
* Publicize a handful of new functions and bump the version numberkientzle2009-04-171-5/+17
| | | | | to indicate that this is synchronized with the recent libarchive 2.7.0 release.
* Merge lots of test suite updates from libarchive.googlecode.com.kientzle2009-04-1742-349/+2236
|
* FreeBSD has a lot of crypto functions used by the recent mtree writer updates.kientzle2009-04-171-1/+7
|
* Ensure that the option setters return OK (option used) evenkientzle2009-04-171-3/+9
| | | | for options that don't change the list of keywords.
* Fix a memory leak: Release the current list of /set keywordskientzle2009-04-171-3/+9
| | | | even when we exit on an error.
* Document the new read options interface and the new read_header2() call.kientzle2009-04-171-0/+62
|
* Dynamically size the buffer we pass to getgrgid_r() and getpwuid_r().kientzle2009-04-171-16/+57
| | | | Keep the buffer in the cache object so we don't have to keep doing this.
* Don't match an empty file on a read error.kientzle2009-04-171-6/+5
|
* When pulling metadata from disk, lookup the user and group name at the same ↵kientzle2009-04-171-1/+12
| | | | time.
* LZW bugfix: when we hit end-of-file, return an invalid code.kientzle2009-04-171-2/+2
|
* Minor fix: some platforms require both inttypes.h and stdint.h.kientzle2009-04-171-1/+2
|
* Implement command-line fallbacks for gzip and bzip2 decompression as well.kientzle2009-04-173-14/+41
| | | | | | Not an issue for FreeBSD, since the base system has the necessary libraries. Since all decompressors are always available now, we can unconditionally enable them in archive_read_support_compression_all().
* Merge new xz/lzma support from libarchive.googlecode.com.kientzle2009-04-173-0/+1083
| | | | | | | | Since FreeBSD doesn't have liblzma in the base system, the read side will always fall back to the unxz/unlzma commands for now. (Which will in turn fail if those commands are not currently installed.) The write side does not yet have a fallback, so that will just fail.
* Don't use the open callback, which is deprecated (because it'skientzle2009-04-173-142/+84
| | | | | | never necessary). Also, simplify just a tad by delegating to read_open_fd() when we know the file descriptor, instead of duplicating that logic.
* Accept empty options, add a new read_next_header2() which is morekientzle2009-04-171-5/+22
| | | | efficient for some uses.
* Properly clone and free the recently-added "sourcepath" field.kientzle2009-04-171-0/+2
|
* Use thread-safe getgrnam_r() and getpwnam_r(); dynamically sizekientzle2009-04-171-6/+50
| | | | the buffer used by this.
* Fix a minor memory leak.kientzle2009-04-171-0/+2
|
OpenPOWER on IntegriCloud