diff options
author | mm <mm@FreeBSD.org> | 2017-03-31 20:17:30 +0000 |
---|---|---|
committer | mm <mm@FreeBSD.org> | 2017-03-31 20:17:30 +0000 |
commit | f0e80d829a6d0ff8bb7a46bd3a18dd6159b14284 (patch) | |
tree | 84dbcb37ab6d18d2bdca41e5d81d0f07c4723cc5 /lib | |
parent | 7260a33b7604c94dd57a1c9a2e65bf9eb08fd238 (diff) | |
download | FreeBSD-src-f0e80d829a6d0ff8bb7a46bd3a18dd6159b14284.zip FreeBSD-src-f0e80d829a6d0ff8bb7a46bd3a18dd6159b14284.tar.gz |
MFC r315636,315876,316095:
Sync libarchive with vendor
Vendor changes/bugfixes (FreeBSD-related):
r315636:
PR 867 (bsdcpio): show numeric uid/gid when names are not found
PR 870 (seekable zip): accept files with valid ZIP64 EOCD headers
PR 880 (pax): Fix handling of "size" pax header keyword
PR 887 (crypto): Discard 3072 bytes instead of 1024 of first keystream
OSS-Fuzz issue 806 (mtree): rework mtree_atol10 integer parser
Break ACL read/write code into platform-specific source files
r315876:
Store extended attributes with extattr_set_link() if no fd is provided
Add extended attribute tests to libarchive and bsdtar
Fix tar's test_option_acls
Support the UF_HIDDEN file flag
r316095:
Constify variables in several places
Unify platform ACL code in a single source file
Fix unused variable if compiling on FreeBSD without NFSv4 ACL support
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/Makefile | 3 | ||||
-rw-r--r-- | lib/libarchive/config_freebsd.h | 29 | ||||
-rw-r--r-- | lib/libarchive/tests/Makefile | 1 |
3 files changed, 14 insertions, 19 deletions
diff --git a/lib/libarchive/Makefile b/lib/libarchive/Makefile index 2cf1633..9f88f45 100644 --- a/lib/libarchive/Makefile +++ b/lib/libarchive/Makefile @@ -49,6 +49,7 @@ SRCS= archive_acl.c \ archive_check_magic.c \ archive_cmdline.c \ archive_cryptor.c \ + archive_disk_acl_freebsd.c \ archive_digest.c \ archive_entry.c \ archive_entry_copy_stat.c \ @@ -113,10 +114,10 @@ SRCS= archive_acl.c \ archive_string.c \ archive_string_sprintf.c \ archive_util.c \ + archive_version_details.c \ archive_virtual.c \ archive_write.c \ archive_write_add_filter.c \ - archive_write_disk_acl.c \ archive_write_disk_set_standard_lookup.c \ archive_write_disk_posix.c \ archive_write_open_fd.c \ diff --git a/lib/libarchive/config_freebsd.h b/lib/libarchive/config_freebsd.h index fe16eb2..f9a3ef2 100644 --- a/lib/libarchive/config_freebsd.h +++ b/lib/libarchive/config_freebsd.h @@ -25,30 +25,23 @@ * $FreeBSD$ */ -/* FreeBSD 5.0 and later have ACL and extattr support. */ +/* FreeBSD 5.0 and later has ACL and extattr support. */ #if __FreeBSD__ > 4 -#define HAVE_ACL_CREATE_ENTRY 1 -#define HAVE_ACL_GET_FD_NP 1 -#define HAVE_ACL_GET_LINK_NP 1 +#define ARCHIVE_ACL_FREEBSD 1 +#define ARCHIVE_XATTR_FREEBSD 1 #define HAVE_ACL_GET_PERM_NP 1 -#define HAVE_ACL_INIT 1 -#define HAVE_ACL_IS_TRIVIAL_NP 1 -#define HAVE_ACL_PERMSET_T 1 -#define HAVE_ACL_SET_FD 1 -#define HAVE_ACL_SET_FD_NP 1 -#define HAVE_ACL_SET_FILE 1 -#define HAVE_ACL_SET_LINK_NP 1 #define HAVE_ARC4RANDOM_BUF 1 -#define HAVE_DECL_ACL_USER 1 -#define HAVE_DECL_ACL_TYPE_NFS4 1 -#define HAVE_EXTATTR_GET_FILE 1 -#define HAVE_EXTATTR_LIST_FILE 1 -#define HAVE_EXTATTR_SET_FD 1 -#define HAVE_EXTATTR_SET_FILE 1 #define HAVE_STRUCT_XVFSCONF 1 #define HAVE_SYS_ACL_H 1 #define HAVE_SYS_EXTATTR_H 1 -#endif +#if __FreeBSD__ > 7 +/* FreeBSD 8.0 and later has NFSv4 ACL support */ +#define ARCHIVE_ACL_FREEBSD_NFS4 1 +#define HAVE_ACL_GET_LINK_NP 1 +#define HAVE_ACL_IS_TRIVIAL_NP 1 +#define HAVE_ACL_SET_LINK_NP 1 +#endif /* __FreeBSD__ > 7 */ +#endif /* __FreeBSD__ > 4 */ #ifdef WITH_OPENSSL #define HAVE_LIBCRYPTO 1 diff --git a/lib/libarchive/tests/Makefile b/lib/libarchive/tests/Makefile index 880e676..904f867 100644 --- a/lib/libarchive/tests/Makefile +++ b/lib/libarchive/tests/Makefile @@ -282,6 +282,7 @@ TESTS_SRCS= \ test_write_format_zip_zip64.c \ test_write_open_memory.c \ test_write_read_format_zip.c \ + test_xattr_platform.c \ test_zip_filename_encoding.c # Deterministic failures: |