| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Fixes: #890
|
| |
|
| |
|
|
|
|
| |
Closes #1320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New functions:
archive_entry_symlink_type()
archive_entry_set_symlink_type()
Suppoted value constants:
AE_SYMLINK_TYPE_UNDEFINED
AE_SYMLINK_TYPE_FILE
AE_SYMLINK_TYPE_DIRECTORY
New extended tar header:
LIBARCHIVE.symlinktype
The function archive_entry_symlink_type() retrieves and the function
archive_entry_set_symlink_type() sets the symbolic link type of an archive
entry. The information about the symbolic link type is required to properly
restore symbolic links on Microsoft Windows. If the symlink type is set
to AE_SYMLINK_TYPE_FILE or AE_SYMLINK_TYPE_DIRECTORY and a tar archive
is written, an extended tar header LIBARCHIVE.symlinktype is stored with
the value "file" or "dir". When reading symbolic links on Windows, the
link type is automatically stored in the archive_entry structure.
On unix systems, the symlink type has no effect when reading or writing
symbolic links.
|
| |
|
|
|
|
|
|
|
|
| |
This commit adds some support for extraction of '.zipx' files. Those
files are standard ZIP files that can contain files compressed with
different set of algorithms that standard '.zip' files use.
Support is still missing for Deflate64, JPEG and WavPack algorithms.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an initial implementation of a stream-oriented unpacker. Things
that should work:
- Extraction of any compression level (stored or compressed), file
enumeration, skipping through files,
- Support for any dictionary sizes,
- CRC32 and BLAKE2sp checksums,
- Solid archives,
- Multi-volume archives (part001, part002, etc),
- Solid multi-volume archives,
- DELTA, x86 and ARM filter support: other filters are not used
in version 5 of the format.
Things that are missing from this implementation:
- Encryption support,
- NTFS ACL permission settings,
- Parsing the Reed-Solomon recovery record.
|
| |
|
| |
|
| |
|
|
|
|
| |
Declare map constants static for better optimization.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac OS X changes:
- add support for extended file attributes via sys/xattr.h
- when extracting an archive entry that has mac_metadata and
mac_metadata is requested to be extracted, extended attributes
are restored only from mac_metadata.
- by default, extended attributes are stored both in mac_metadata and
SCHILY.xattr/LIBARCHIVE.xattr. This is subject to review and change.
To match behavior on other platforms, store extended attributes on
FreeBSD with extattr_set_link() if no fd is provided.
Detection of extended attributes support in configure stage has been
rewritten.
Added xattr platform test to libarchive and xattrs option test to bsdtar.
|
|
|
|
|
|
|
|
|
|
| |
This makes the code much more readable and eases the addition of new
ACL implementatons in the future.
Additional changes:
- most of ACL detection is now done at configure stage
- configuration now reports what ACL was detected
- NFSv4 ACL tests now test INHERIT_ONLY and NO_PROPAGATE_INHERIT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This breaks a static dependency on libbz2. Before this,
any use of libarchive that ended up linking archive_util.c would
require libbz2. (And since archive_util.c contains a bunch of
very core functions, this is pretty much everybody.)
Now you only require libbz2 if you request library version information
or actually use some other feature that involves bzip2 support.
Note that most of the libraries provide version information via
compile-time macros -- libbz2 only provides such information via
a function call, which is why this issue only arises with libbz2.
In particular, the libbz2 version reports the version that we
are currently linked against; the other library versions report
the version we were compiled with (which may not be the same as
what we are currently using).
|
|
|
|
|
| |
This was fixed in commit d6ccad60de8f51615ae2abccf37c125b12402107 for automake,
but not for CMake.
|
|
|
|
|
|
|
| |
Add private forwarding headers for `openssl/{evp,hmac}.h` to give us a
central place to add adaptation code to work across multiple
incompatible OpenSSL versions. Provide compatibility implementations of
some OpenSSL 1.1 APIs when using older OpenSSL versions.
|
|
|
|
|
|
| |
Avoid repeating the signature declaration in every source that uses it.
While at it, constify internal __archive_get_date implementation to
keep signatures consistent.
|
|\
| |
| | |
Corrected
|
| | |
|
| |
| |
| |
| | |
filter by filename.
|
|/ |
|
| |
|
|
|
|
| |
archive_crypto to archive_digest.
|
|\
| |
| | |
Remove xxhash.h from CMakeLists.txt (fixes CMake build issue after 20d5451)
|
| |
| |
| |
| | |
Already done in Makefile.am in commit 20d545194b222ea6d1a0e497f16f889e1588d394
|
| |
| |
| |
| | |
encrypted archives.
|
| |
| |
| |
| | |
I will rename archive_crypto.c to archive_digest.c.
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
TODO: detecting liblz4 library by CMake.
|
| |
|
| |
|
|\
| |
| | |
just link the archive_static with ADDITIONAL_LIBS
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
parse device entries like NetBSD's mtree and its multiple possible
format: native, 386bsd, 4bsd, bsdos, freebsd, hpux, isc, linux, netbsd,
osf1, sco, solaris, sunos, svr3, svr4, and ultrix.
|
|/
|
|
| |
Merged branch 'feature/write-format-raw' of https://github.com/Leonidas-from-XIV/libarchive
|
|
|
|
|
|
| |
This needs close_filters and free_filters to be globally available
as global symbols __archive_read_close_filters and
__archive_read_free_filters.
|
|
|
|
|
| |
This automatically decides on a creation format and filters by
the archive suffix.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
archive_write_add_filter_programl,
archive_write_add_filter_programv,
archive_read_support_filter_programl,
archive_read_support_filter_programv,
archive_read_support_filter_programl_signature and
archive_read_support_filter_programv_signature.
And so remove those functions, which I recently added.
|
| |
|
|
|
|
| |
It is clear the file is used for which platform.
|
| |
|
| |
|
| |
|