From cbe7e8cbeba4d96c27cb1f014578b90176d2ca60 Mon Sep 17 00:00:00 2001 From: joerg Date: Sun, 5 Mar 2017 12:05:56 +0000 Subject: Merge d9036ca49e414c6b5560c48126b6963204a6eda9: Fix compilation on Mac OS X versions without ACL_SYNCHRONIZE --- .../files/libarchive/archive_read_disk_entry_from_file.c | 7 +++++++ archivers/libarchive/files/libarchive/archive_write_disk_acl.c | 2 ++ 2 files changed, 9 insertions(+) (limited to 'archivers/libarchive') diff --git a/archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c b/archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c index b2f1d17d971..4e1de0e9b65 100644 --- a/archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c +++ b/archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c @@ -674,7 +674,9 @@ static const struct { {ARCHIVE_ENTRY_ACL_READ_ACL, ACL_READ_SECURITY}, {ARCHIVE_ENTRY_ACL_WRITE_ACL, ACL_WRITE_SECURITY}, {ARCHIVE_ENTRY_ACL_WRITE_OWNER, ACL_CHANGE_OWNER}, +#ifdef ACL_SYNCHRONIZE {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE} +#endif #else /* POSIX.1e ACL permissions */ {ARCHIVE_ENTRY_ACL_EXECUTE, ACL_EXECUTE}, {ARCHIVE_ENTRY_ACL_WRITE, ACL_WRITE}, @@ -1382,6 +1384,11 @@ translate_acl(struct archive_read_disk *a, ae_perm |= acl_perm_map[i].archive_perm; } +#if defined(HAVE_DARWIN_ACL) && !defined(ACL_SYNCHRONIZE) + /* On Mac OS X without ACL_SYNCHRONIZE assume it is set */ + ae_perm |= ARCHIVE_ENTRY_ACL_SYNCHRONIZE; +#endif + archive_entry_acl_add_entry(entry, entry_acl_type, ae_perm, ae_tag, ae_id, ae_name); diff --git a/archivers/libarchive/files/libarchive/archive_write_disk_acl.c b/archivers/libarchive/files/libarchive/archive_write_disk_acl.c index 144ab7e72e1..30727fb9403 100644 --- a/archivers/libarchive/files/libarchive/archive_write_disk_acl.c +++ b/archivers/libarchive/files/libarchive/archive_write_disk_acl.c @@ -158,7 +158,9 @@ static const struct { {ARCHIVE_ENTRY_ACL_READ_ACL, ACL_READ_SECURITY}, {ARCHIVE_ENTRY_ACL_WRITE_ACL, ACL_WRITE_SECURITY}, {ARCHIVE_ENTRY_ACL_WRITE_OWNER, ACL_CHANGE_OWNER}, +#ifdef ACL_SYNCHRONIZE {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE} +#endif #else /* POSIX.1e ACL permissions */ {ARCHIVE_ENTRY_ACL_EXECUTE, ACL_EXECUTE}, {ARCHIVE_ENTRY_ACL_WRITE, ACL_WRITE}, -- cgit v1.2.3