summaryrefslogtreecommitdiff
path: root/build/cmake
diff options
context:
space:
mode:
authorMartin Matuska <martin@matuska.org>2017-01-29 15:51:02 +0100
committerMartin Matuska <martin@matuska.org>2017-01-29 16:06:30 +0100
commit9f43a7d60fd99cc5a8f6420b6c692bb137f85bb8 (patch)
tree8634df05b77abac826e035cc058cafc6227ca3a0 /build/cmake
parent1220de603e72b73ea6bda25a9246191316493974 (diff)
downloadlibarchive-9f43a7d60fd99cc5a8f6420b6c692bb137f85bb8.tar.gz
Add NFSv4 ACL support for Mac OS X
Mac OS X supports user and group NFSv4-style ACLs only (extended ACLs). File-mode ACLs (owner@, group@ and everyone@) are not supported. Behavior on Mac OS X: - libarchive does not store GUID of Mac OS X extended ACLs. Only uid or gid (and the corresponding user or group name) are stored. - When extracting an archive entry that has mac_metadata, NFSv4 ACLs are not written to disk (mac_metadata already contains ACLs) - When writing ACLs to disk from an archive entry with NFSv4 ACLs owner@, group@ and everyone@ ACLs are ignored. User and group ids are converted to a GUID (this may lead to a fabricated GUID if the user or group ID is not present on the system) - When reading ACL from disk and there is at least one user or group extended ACL entry, owner@, group@ and everyone@ entries mirroring the file mode are added to the end of the entry's ACL.
Diffstat (limited to 'build/cmake')
-rw-r--r--build/cmake/config.h.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/build/cmake/config.h.in b/build/cmake/config.h.in
index cd87c94e..ec64d993 100644
--- a/build/cmake/config.h.in
+++ b/build/cmake/config.h.in
@@ -329,6 +329,9 @@ typedef uint64_t uintmax_t;
/* True for FreeBSD with NFSv4 ACL support */
#cmakedefine HAVE_ACL_TYPE_NFS4 1
+/* True for MacOS ACL support */
+#cmakedefine HAVE_ACL_TYPE_EXTENDED 1
+
/* True for systems with POSIX ACL support */
#cmakedefine HAVE_ACL_USER 1