]> git.ipfire.org Git - thirdparty/libarchive.git/commit
Add NFSv4 ACL support for Mac OS X
authorMartin Matuska <martin@matuska.org>
Sun, 29 Jan 2017 14:51:02 +0000 (15:51 +0100)
committerMartin Matuska <martin@matuska.org>
Sun, 29 Jan 2017 15:06:30 +0000 (16:06 +0100)
commit9f43a7d60fd99cc5a8f6420b6c692bb137f85bb8
tree8634df05b77abac826e035cc058cafc6227ca3a0
parent1220de603e72b73ea6bda25a9246191316493974
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.
CMakeLists.txt
build/cmake/config.h.in
configure.ac
libarchive/archive_platform.h
libarchive/archive_read_disk_entry_from_file.c
libarchive/archive_write_disk_acl.c
libarchive/archive_write_disk_posix.c
libarchive/test/test.h
libarchive/test/test_acl_platform_nfs4.c