| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
testing, I've archived and restored dir trees with ~1MB pathnames.
Most formats, of course, have much smaller limits.
|
|
|
|
|
| |
over 1MB), issue a warning instead of forcing an internal assertion
failure.
|
|
|
|
| |
reading cpio format.
|
| |
|
| |
|
|
|
|
|
|
| |
In particular, /dev/st0 can be added to an archive being written to /dev/st0.
Thanks to: Jaakko Heinonen
|
|
|
|
|
|
|
| |
In particular, this correctly allows bsdtar (and pkg_add) to skip
package signatures.
Thanks to: Theo Schlossnagle
|
| |
|
|
|
|
|
|
|
|
| |
return a generic text message instead.
(Someday, I'll track down all the places that
are generating errors but not recording messages. ;-/
Thanks to: Jaakko Heinonen
|
| |
|
|
|
|
|
|
| |
occurred with large read-ahead requests. This only affected
formats that incorrectly make large requests (ZIP did this until
recently) or with block sizes over 32k.
|
| |
|
|
|
|
| |
Thanks to: Ruslan
|
|
|
|
| |
This avoids having error messages get concatenated over multiple calls.
|
|
|
|
| |
Also remove some unnecessary blank lines from archive_read.3.
|
|
|
|
|
|
|
|
|
|
|
| |
When reading the bodies of Zip archive entries, request a minimum of 1
byte, rather than a minimum of the full entry size. This is faster
(since it does not force the decompression layer to combine reads) and
works around a bug in the "none" decompression handler (which I'm
testing a separate fix for now). I've also renamed "bytes_read" to
"bytes_avail" in several places to more accurately reflect that the
value returned from (a->compression_read_ahead) is the number of bytes
available, not necessarily the number of bytes requested.
|
|
|
|
|
|
|
|
|
|
|
|
| |
(padding) entries, extract inode value from PX entry, recognize SP and
ST (start/end of SUSP extensions).
I don't enforce SP yet, as I've seen CDROMs which use Rockridge
extensions but don't have the SP record (which is officially
required).
The ISO9660 support is now mature enough to extract FreeBSD
distribution CDROMs created with mkisofs.
|
|
|
|
|
|
|
| |
For example, when using 'gunzip | tar' to decompress.
Also, fix some style issues (write null character as '\0').
Thanks to: Jaakko Heinonen
|
| |
|
|
|
|
|
| |
Reported by: tinderbox
Pointy hat: me
|
|
|
|
|
|
|
| |
Only supports "deflate" and "none" compression for now.
Also, add a few clarifications to the archive_read.3 manpage as
requested by William Dean DeVries.
|
|
|
|
| |
Approved by: ru
|
|
|
|
|
| |
* ISO9660 CDROM images
* ISO9660 images with Rockridge extensions
|
| |
|
|
|
|
|
| |
(specifies that record is extended elsewhere on
the disk).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for libarchive error messages. Mostly, this
avoids a portability headache related to
copying va_list arguments (some FreeBSD 5
platforms require va_copy; FreeBSD 4 doesn't
support va_copy at all). It also dramatically reduces the
size of libarchive for embedded applications:
a minimal "untar" program using libarchive can now be
under 64k statically linked (as opposed to ~100k
using library *printf() functions).
MFC after: 14 days
|
| |
|
|
|
|
|
| |
Also, add some hints to help people understand which
functions are most appropriate for typical uses.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
expand and clarify the description of the client
callback functions and how they should handle errors.
Thanks to: Antony Dovgal
|
|
|
|
|
|
| |
to archive_read_open and archive_write_open.
Thanks to: Antony Dovgal
|
|
|
|
|
|
|
| |
to archive_read_next_header so the
next error doesn't just get appended.
MFC after: 7 days
|
|
|
|
|
|
| |
Large thanks to the easy-to-read and well-documented
sys/isofs/cd9660 source code, which provided many of the
details I needed for this exercise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Reference-count the directory data so that
we don't leak memory.
* Correctly step through the directory records
(skipping unrecognized extensions)
* Use better defaults for file modes
* Sort directory entries by offset of the end of the file
rather than the beginning of the file. This fixes a
lot of "out-of-order" problems with zero-length files,
in particular.
* Style fixes, remove some debug code, add some error messages.
|
|
|
|
| |
In particular, bsdtar should now recognize ISO9660 images.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to be able to extract a TOC and extract files from
the couple of ISO images I've tested it with.
Treat this as experimental proof-of-concept code for the
moment. There are still a bunch of debug messages (there
are a few oddities in ISO9660 that I haven't yet figured
out how to handle), a lot of bugs to be addressed (this
code leaks memory very badly), and a lot of missing features (no
Rockridge support, in particular). I'd appreciate
feedback from anyone who understands ISO9660 format
better than I do. ;-)
Suggested by: Robert Watson
|
|
|
|
|
|
|
|
|
|
|
| |
the regular ustar entry. The old code sometimes created
a too-long name that overflowed the ustar fields and triggered
an internal assertion failure. This version should be more
robust.
Thanks to: Michal Listos
Fixes: bin/74385
MFC after: 15 days
|
| |
|
|
|
|
|
|
| |
WCHAR_MAX. This might fix a portability problem on HP_UX.
Thanks to: Susan Kim
|
|
|
|
| |
Thanks to: Kurt J. Lidl
|
|
|
|
| |
number into a variable-length archive_string.
|
|
|
|
|
|
|
|
|
|
|
|
| |
ustar fields. Later, we're going to permit numeric extensions
for these fields, so we can support large values here. In particular,
this allows GNU tar to correctly extract such entries even
though it doesn't support the pax extended attributes.
Note: r1.18 and r1.17.2.1 of this file allowed similar treatment
of the uid/gid fields.
Thanks to: Ben Mesander
|
|
|
|
|
|
|
|
| |
improves the recognition of hardlink entries
with/without bodies (which is implemented through
a look-ahead that uses the bid function).
MFC after: 7 days
|
|
|
|
|
|
|
|
|
|
| |
device numbers. In particular, this should fix
a bug where archiving a device node with a very
large minor number would sometimes overflow and
corrupt the major number.
Thanks to: Ben Mesander
MFC after: 7 days
|
|
|
|
|
|
|
|
|
| |
regular 'ustar' entry, use narrow-character version,
not wide-character version, as the ustar entry always
uses the narrow-character filename.
Thanks to: Michal Listos
Inspired by, but doesn't fix: bin/74385
|
|
|
|
|
|
|
| |
in an error message.
Thanks to: Michal Listos
Inspired by, but doesn't fix: bin/74385
|
|
|
|
|
|
|
| |
the the pax attributes, I shouldn't try using the public
API for finishing out the attribute entry, either.
This also removes some old dubious state manipulations.
|
|
|
|
|
|
|
|
|
| |
because the code was using the external API
(archive_write_data) and assuming internal
error-return conventions. Use the internal
API for writing data.
Thanks to: Joe Marcus Clarke
|