summaryrefslogtreecommitdiffstats
path: root/lib/libarchive
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2017-02-11 00:54:16 +0000
committermm <mm@FreeBSD.org>2017-02-11 00:54:16 +0000
commit8ed156f023dfea00429bd27589ad280d998dc566 (patch)
tree3ba5f634dd8ec7936fbbedb587f56f29c2e5d66e /lib/libarchive
parent46f6667a51486e043ff39383c22466479b46c129 (diff)
downloadFreeBSD-src-8ed156f023dfea00429bd27589ad280d998dc566.zip
FreeBSD-src-8ed156f023dfea00429bd27589ad280d998dc566.tar.gz
MFC r310866,310868,310870,311903,313074:
Sync libarchive with vendor. MFC r310866: PR #771: Add NFSv4 ACL support to pax and restricted pax NFSv4 ACL information may now be stored to and restored from tar archives. ACL must be non-trivial and supported by the underlying filesystem, e.g. natively by ZFS or by UFS with the NFSv4 ACL enable flag set. MFC r310868: PR #843: Fix memory leak of struct archive_entry in cpio/cpio.c PR #851: Spelling fixes Fix two protoypes in manual page archive_read_disk.3 MFC r310870: Use __LA_DEPRECATED macro with functions deprecated in 379867e MFC r311903: #691: Support for SCHILY.xattr extended attributes #854: Spelling fixes Multiple fixes in ACL code: - prefer acl_set_fd_np() to acl_set_fd() - if acl_set_fd_np() fails, do no fallback to acl_set_file() - do not warn if trying to write ACLs to a filesystem without ACL support - fix id handling in archive_acl_(from_to)_text*() for NFSv4 ACLs MFC r313074: - support extracting NFSv4 ACLs from Solaris tar archives - bugfixes and optimizations in the ACL code - multiple fixes in the test suite - typo and other small bugfixes Security fixes: - cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335) - LHA reader: heap-buffer-overflow in lha_read_file_header_1() (CVE-2017-5601) - LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream() (OSS-Fuzz 453) - mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443) - WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458) Memory leak fixes: - ACL support: free memory allocated by acl_get_qualifier() - disk writer: missing free in create_filesystem_object() - file reader: fd leak (Coverity 1016755) - gnutar writer: fix free in archive_write_gnutar_header() (Coverity 101675) - iso 9660 reader: missing free in parse_file_info() (partial Coverity 1016754) - program reader: missing free in __archive_read_program() - program writer: missing free in __archive_write_program_free() - xar reader: missing free in xar_cleanup() - xar reader: missing frees in expat_xmlattr_setup() (Coverity 1229979-1229981) - xar writer: missing free in file_free() - zip reader: missing free in zip_read_local_file_header() List of all libarchive issues at OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=libarchive Security: CVE-2017-5601
Diffstat (limited to 'lib/libarchive')
-rw-r--r--lib/libarchive/config_freebsd.h1
-rw-r--r--lib/libarchive/tests/Makefile12
2 files changed, 8 insertions, 5 deletions
diff --git a/lib/libarchive/config_freebsd.h b/lib/libarchive/config_freebsd.h
index eeb1076..4fb7b86 100644
--- a/lib/libarchive/config_freebsd.h
+++ b/lib/libarchive/config_freebsd.h
@@ -41,6 +41,7 @@
#define HAVE_ACL_SET_FILE 1
#define HAVE_ACL_SET_LINK_NP 1
#define HAVE_ACL_USER 1
+#define HAVE_ACL_TYPE_NFS4 1
#define HAVE_ARC4RANDOM_BUF 1
#define HAVE_EXTATTR_GET_FILE 1
#define HAVE_EXTATTR_LIST_FILE 1
diff --git a/lib/libarchive/tests/Makefile b/lib/libarchive/tests/Makefile
index b3ce0d4..14ab70c 100644
--- a/lib/libarchive/tests/Makefile
+++ b/lib/libarchive/tests/Makefile
@@ -20,11 +20,12 @@ CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
.PATH: ${_LIBARCHIVEDIR}/libarchive/test
TESTS_SRCS= \
- test_acl_freebsd_nfs4.c \
- test_acl_freebsd_posix1e.c \
test_acl_nfs4.c \
test_acl_pax.c \
+ test_acl_platform_nfs4.c \
+ test_acl_platform_posix1e.c \
test_acl_posix1e.c \
+ test_acl_text.c \
test_archive_api_feature.c \
test_archive_clear_error.c \
test_archive_cmdline.c \
@@ -73,7 +74,7 @@ TESTS_SRCS= \
test_compat_plexus_archiver_tar.c \
test_compat_solaris_tar_acl.c \
test_compat_solaris_pax_sparse.c \
- test_compat_star_acl_posix1e.c \
+ test_compat_star_acl.c \
test_compat_tar_hardlink.c \
test_compat_uudecode.c \
test_compat_uudecode_large.c \
@@ -315,9 +316,9 @@ list.h: ${TESTS_SRCS} Makefile
@mv ${.TARGET}.tmp ${.TARGET}
CLEANTESTS+= list.h list.h.tmp
-
${PACKAGE}FILES+= README
-${PACKAGE}FILES+= test_acl_pax.tar.uu
+${PACKAGE}FILES+= test_acl_pax_posix1e.tar.uu
+${PACKAGE}FILES+= test_acl_pax_nfs4.tar.uu
${PACKAGE}FILES+= test_archive_string_conversion.txt.Z.uu
${PACKAGE}FILES+= test_compat_bzip2_1.tbz.uu
${PACKAGE}FILES+= test_compat_bzip2_2.tbz.uu
@@ -354,6 +355,7 @@ ${PACKAGE}FILES+= test_compat_plexus_archiver_tar.tar.uu
${PACKAGE}FILES+= test_compat_solaris_pax_sparse_1.pax.Z.uu
${PACKAGE}FILES+= test_compat_solaris_pax_sparse_2.pax.Z.uu
${PACKAGE}FILES+= test_compat_solaris_tar_acl.tar.uu
+${PACKAGE}FILES+= test_compat_star_acl_nfs4.tar.uu
${PACKAGE}FILES+= test_compat_star_acl_posix1e.tar.uu
${PACKAGE}FILES+= test_compat_tar_hardlink_1.tar.uu
${PACKAGE}FILES+= test_compat_uudecode_large.tar.Z.uu
OpenPOWER on IntegriCloud