diff options
author | Martin Matuska <martin@matuska.org> | 2017-01-29 15:51:02 +0100 |
---|---|---|
committer | Martin Matuska <martin@matuska.org> | 2017-01-29 16:06:30 +0100 |
commit | 9f43a7d60fd99cc5a8f6420b6c692bb137f85bb8 (patch) | |
tree | 8634df05b77abac826e035cc058cafc6227ca3a0 /build/cmake | |
parent | 1220de603e72b73ea6bda25a9246191316493974 (diff) | |
download | libarchive-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.in | 3 |
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 |