Revision tags: release/6.3.0_cvs, release/6.3.0 |
|
#
db267e0b |
| 01-Jan-2008 |
Tim Kientzle <kientzle@FreeBSD.org> |
The mtree.5 file has been moved to src/usr.sbin/mtree.
|
#
9dd49f96 |
| 30-Dec-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Update libarchive to 2.4.10. This includes a number of improvements that I've been working on but put off committing until after the RELENG_7 branch, including:
* New manpages: cpio.5 mtree.5 * New
Update libarchive to 2.4.10. This includes a number of improvements that I've been working on but put off committing until after the RELENG_7 branch, including:
* New manpages: cpio.5 mtree.5 * New archive_entry_strmode() * New archive_entry_link_resolver() * New read support: mtree format * Internal API change: read format auction only runs once * Running the auction only once allowed simplifying a lot of bid logic. * Cpio robustness: search for next header after a sync error * Support device nodes on ISO9660 images * Eliminate a lot of unnecessary copies for uncompressed archives * Corrected handling of new GNU --sparse --posix formats * Correctly handle a zero-byte write to a compressed archive * Fixed memory leaks
Many of these improvements were motivated by the upcoming bsdcpio front-end.
There have also been extensive improvements to the libarchive_test test harness, which I'll commit separately.
show more ...
|
#
75d0856c |
| 15-Jul-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Add archive_entry_copy_gname() and archive_entry_copy_uname() functions.
Approved by: re (bmah) MFC after: 3 days
|
#
612c3e77 |
| 12-Jul-2007 |
Colin Percival <cperciva@FreeBSD.org> |
Correct multiple security issues in how libarchive handles corrupt tar archives, including a potentially exploitable buffer overflow.
Approved by: re (kensmith, security blanket) Reviewed by: kientz
Correct multiple security issues in how libarchive handles corrupt tar archives, including a potentially exploitable buffer overflow.
Approved by: re (kensmith, security blanket) Reviewed by: kientzle Security: FreeBSD-SA-07:05.libarchive
show more ...
|
#
ed3ba422 |
| 07-Jul-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Fix installworld: /usr/bin/printf isn't available then, so use awk's printf for the formatting here instead.
Pointy hat: Yours Truly Approved by: re
|
#
ab16ac78 |
| 06-Jul-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
New "version stamp" simplifies determining the exact version of libarchive being used. I've been taking advantage of this with a recent round of updates to libarchive_test so that it can test older
New "version stamp" simplifies determining the exact version of libarchive being used. I've been taking advantage of this with a recent round of updates to libarchive_test so that it can test older and newer versions of the library.
Approved by: re (Ken Smith)
show more ...
|
#
17e60e62 |
| 22-Jun-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Support for writing the 'newc' cpio format, plus a minimal test harness for the cpio formats.
Thanks to: Rudolf Marek Approved by: re@
|
#
b48b40f1 |
| 29-May-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
libarchive 2.2.3 * "compression_program" support uses an external program * Portability: no longer uses "struct stat" as a primary data interchange structure internally * Part of the above:
libarchive 2.2.3 * "compression_program" support uses an external program * Portability: no longer uses "struct stat" as a primary data interchange structure internally * Part of the above: refactor archive_entry to separate out copy_stat() and stat() functions * More complete tests for archive_entry * Finish archive_entry_clone() * Isolate major()/minor()/makedev() in archive_entry; remove these from everywhere else. * Bug fix: properly handle decompression look-ahead at end-of-data * Bug fixes to 'ar' support * Fix memory leak in ZIP reader * Portability: better timegm() emulation in iso9660 reader * New write_disk flags to suppress auto dir creation and not overwrite newer files (for future cpio front-end) * Simplify trailing-'/' fixup when writing tar and pax * Test enhancements: fix various compiler warnings, improve portability, add lots of new tests. * Documentation: document new functions, first draft of libarchive_internals.3
MFC after: 14 days Thanks to: Joerg Sonnenberger (compression_program) Thanks to: Kai Wang (ar) Thanks to: Colin Percival (many small fixes) Thanks to: Many others who sent me various patches and problem reports.
show more ...
|
#
9fbf190f |
| 02-May-2007 |
Colin Percival <cperciva@FreeBSD.org> |
s/@VERSION@/@ARCHIVE_VERSION@/
This is a no-op as far as FreeBSD is concerned, but makes libarchive more autoconf-friendly.
Approved by: kientzle
|
#
f912fb11 |
| 15-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Consolidate numeric limit macros in one place; include them only on platforms that need them. FreeBSD doesn't.
|
#
37320c75 |
| 15-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Overhaul of 'ar' support: * use "AR_GNU" as the format name instead of AR_SVR4 (it's what everyone is going to call it anyway) * Simplify numeric parsing to unsigned (none of the numeric values s
Overhaul of 'ar' support: * use "AR_GNU" as the format name instead of AR_SVR4 (it's what everyone is going to call it anyway) * Simplify numeric parsing to unsigned (none of the numeric values should ever be negative); don't run off end of numeric fields. * Finish parsing the common header fields before the next I/O request (which might dump the contents) * Be smarter about format guessing and trimming filenames. * Most of the magic values are only used in one place, so just inline them. * Many more comments. * Be smarter about handling damaged entries; return something reasonable. * Call it a "filename table" instead of a "string table" * Update tests.
Enable selection of 'ar', 'arbsd', and 'argnu' formats by name (this allows bsdtar to create ar format archives).
The 'ar' writer still needs some work; it should reject entries that aren't regular files and should probably also strip leading paths from filenames.
show more ...
|
#
5d214a14 |
| 14-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Fix the build by temporarily disabling 'ar' support until I can clean it up.
|
#
fac89d27 |
| 14-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Fix the build. N.B. 'ar' format support is broken right now, it's not passing tests. If I can't find the problem soon, I'll back out the last commit.
|
#
015f3577 |
| 14-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Conventionally, tar archives have always included a trailing '/' for directories. bsdtar used to add this, but that recently got lost somehow. So now I'm adding it back in libarchive. The only odd
Conventionally, tar archives have always included a trailing '/' for directories. bsdtar used to add this, but that recently got lost somehow. So now I'm adding it back in libarchive. The only odd part of doing this in libarchive: Adding a directory to a tar archive and then reading it back again can yield a different name.
Add a test case to exercise some boundary conditions with tar filenames and ensure that trailing slashes are added to dir names only as necessary.
Thanks to: Oliver Lehmann for bringing this regression to my attention.
show more ...
|
#
da7bcba2 |
| 12-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Now that libarchive is being built in more environments, factor out the platform-specific configuration header a bit more cleanly. Suggested by: Joerg Sonnenberger
|
#
94451fa8 |
| 07-Apr-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Enable 'ar' support; hook it up to the build and enable it with _read_support_format_all().
|
#
ceb38a31 |
| 05-Apr-2007 |
Colin Percival <cperciva@FreeBSD.org> |
Move archive_read_data_into_buffer into archive_read.c, simplify its implementation, and mark it as deprecated. It will be removed entirely in libarchive 3.0 (in FreeBSD 8.0?) but there's no reason
Move archive_read_data_into_buffer into archive_read.c, simplify its implementation, and mark it as deprecated. It will be removed entirely in libarchive 3.0 (in FreeBSD 8.0?) but there's no reason for anyone to use it instead of archive_read_data.
Approved by: kientzle
show more ...
|
#
e2d97e54 |
| 24-Mar-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Notice when mkdir() fails. Don't change permissions on an existing dir unless _EXTRACT_PERM is requested.
In particular, bsdtar -x should not edit mode of existing dirs now; bsdtar -xp will.
|
#
22976ba4 |
| 13-Mar-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
When ARCHIVE_EXTRACT_UNLINK is requested: * Only try to remove the existing item if we're not restoring a directory. * If unlink fails, try rmdir next. This should fix the broken --unlink option
When ARCHIVE_EXTRACT_UNLINK is requested: * Only try to remove the existing item if we're not restoring a directory. * If unlink fails, try rmdir next. This should fix the broken --unlink option in bsdtar.
Thanks again to: Kris Kennaway, for beating up bsdtar on pointyhat.
show more ...
|
#
23044937 |
| 11-Mar-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Libarchive 2.0.23: * The ACL formatter was mis-formatting entries which had a user/group ID but no name. Make the parser tolerant of these, so that old archives can be correctly restore
Libarchive 2.0.23: * The ACL formatter was mis-formatting entries which had a user/group ID but no name. Make the parser tolerant of these, so that old archives can be correctly restored; fix the formatter to generate correct entries. * Fix overwrite detection by introducing a new "FAILED" return code that indicates the current entry cannot be continued but the archive as a whole is still sound. * Header cleanup: Remove some unused headers, add some that are required with new Linux systems.
show more ...
|
#
f81da3e5 |
| 03-Mar-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
libarchive 2.0 * libarchive_test program exercises many of the core features * Refactored old "read_extract" into new "archive_write_disk", which uses archive_write methods to put entries ont
libarchive 2.0 * libarchive_test program exercises many of the core features * Refactored old "read_extract" into new "archive_write_disk", which uses archive_write methods to put entries onto disk. In particular, you can now use archive_write_disk to create objects on disk without having an archive available. * Pushed some security checks from bsdtar down into libarchive, where they can be better optimized. * Rearchitected the logic for creating objects on disk to reduce the number of system calls. Several common cases now use a minimum number of system calls. * Virtualized some internal interfaces to provide a clearer separation of read and write handling and make it simpler to override key methods. * New "empty" format reader. * Corrected return types (this ABI breakage required the "2.0" version bump) * Many bug fixes.
show more ...
|
#
a9490c59 |
| 01-Feb-2007 |
Tim Kientzle <kientzle@FreeBSD.org> |
Add support for a new archive format "empty" that reads empty files.
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
24d698ea |
| 26-Nov-2006 |
Tim Kientzle <kientzle@FreeBSD.org> |
Bump the libarchive version number, correct the shell hackery to break the full version down into major/minor values.
|
#
dc46be1c |
| 26-Nov-2006 |
Tim Kientzle <kientzle@FreeBSD.org> |
Write-blocking cleanup, largely thanks to Colin Percival (cperciva@). * If write block size is zero, don't block at all. This supports the unusual requirement of applications that need "
Write-blocking cleanup, largely thanks to Colin Percival (cperciva@). * If write block size is zero, don't block at all. This supports the unusual requirement of applications that need "no-delay" writes. * Expose _write_finish_entry() to give such applications more control over write boundaries. (Normal applications do not need this, as entries are completed automatically.) * Correct the type of write callbacks; this is a minor API change that does not affect the ABI. * Correct the error handling in _write_next_header() around completing the previous entry. * Correct the documentation for block-size markers: Remove docs for the long-defunct _read_set_block_size(); document all of the write block size manipulators.
MFC after: 14 days
show more ...
|
#
43baed15 |
| 26-Nov-2006 |
Tim Kientzle <kientzle@FreeBSD.org> |
Unbreak libarchive on arm. Two parts of libarchive relied on a traditional shortcut of defining on-disk layouts using structures of character arrays. Unfortunately, as recently discussed on cvs-all@
Unbreak libarchive on arm. Two parts of libarchive relied on a traditional shortcut of defining on-disk layouts using structures of character arrays. Unfortunately, as recently discussed on cvs-all@, this usage is not actually sanctioned by the standards and specifically fails on GCC/arm (unless your data structures happen to be "naturally aligned").
The new code defines offsets/sizes for data fields and accesses them using explicit pointer arithmetic, instead of casting to a structure and accessing structure fields. In particular, the new code is now clean with WARNS=6 on arm.
MFC after: 14 days
show more ...
|