summaryrefslogtreecommitdiffstats
path: root/abs/core/libarchive/libarchive-3.1.2-acl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/libarchive/libarchive-3.1.2-acl.patch')
-rw-r--r--abs/core/libarchive/libarchive-3.1.2-acl.patch219
1 files changed, 0 insertions, 219 deletions
diff --git a/abs/core/libarchive/libarchive-3.1.2-acl.patch b/abs/core/libarchive/libarchive-3.1.2-acl.patch
deleted file mode 100644
index ce563b0..0000000
--- a/abs/core/libarchive/libarchive-3.1.2-acl.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-diff -ruN libarchive-3.1.2/libarchive/archive_read_disk_entry_from_file.c libarchive-3.1.2.fixed/libarchive/archive_read_disk_entry_from_file.c
---- libarchive-3.1.2/libarchive/archive_read_disk_entry_from_file.c 2013-02-08 01:52:07.000000000 +0100
-+++ libarchive-3.1.2.fixed/libarchive/archive_read_disk_entry_from_file.c 2013-08-08 10:47:41.000000000 +0200
-@@ -399,7 +399,7 @@
- #endif
-
-
--#if defined(HAVE_POSIX_ACL) && defined(ACL_TYPE_NFS4)
-+#ifdef HAVE_POSIX_ACL
- static int translate_acl(struct archive_read_disk *a,
- struct archive_entry *entry, acl_t acl, int archive_entry_acl_type);
-
-@@ -419,6 +419,7 @@
-
- archive_entry_acl_clear(entry);
-
-+#ifdef ACL_TYPE_NFS4
- /* Try NFS4 ACL first. */
- if (*fd >= 0)
- acl = acl_get_fd(*fd);
-@@ -447,6 +448,7 @@
- acl_free(acl);
- return (ARCHIVE_OK);
- }
-+#endif
-
- /* Retrieve access ACL from file. */
- if (*fd >= 0)
-@@ -492,6 +494,7 @@
- {ARCHIVE_ENTRY_ACL_EXECUTE, ACL_EXECUTE},
- {ARCHIVE_ENTRY_ACL_WRITE, ACL_WRITE},
- {ARCHIVE_ENTRY_ACL_READ, ACL_READ},
-+#ifdef ACL_TYPE_NFS4
- {ARCHIVE_ENTRY_ACL_READ_DATA, ACL_READ_DATA},
- {ARCHIVE_ENTRY_ACL_LIST_DIRECTORY, ACL_LIST_DIRECTORY},
- {ARCHIVE_ENTRY_ACL_WRITE_DATA, ACL_WRITE_DATA},
-@@ -508,8 +511,10 @@
- {ARCHIVE_ENTRY_ACL_WRITE_ACL, ACL_WRITE_ACL},
- {ARCHIVE_ENTRY_ACL_WRITE_OWNER, ACL_WRITE_OWNER},
- {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE}
-+#endif
- };
-
-+#ifdef ACL_TYPE_NFS4
- static struct {
- int archive_inherit;
- int platform_inherit;
-@@ -519,21 +524,25 @@
- {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT},
- {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}
- };
--
-+#endif
- static int
- translate_acl(struct archive_read_disk *a,
- struct archive_entry *entry, acl_t acl, int default_entry_acl_type)
- {
- acl_tag_t acl_tag;
-+#ifdef ACL_TYPE_NFS4
- acl_entry_type_t acl_type;
- acl_flagset_t acl_flagset;
-+ int brand, r;
-+#endif
- acl_entry_t acl_entry;
- acl_permset_t acl_permset;
-- int brand, i, r, entry_acl_type;
-+ int i, entry_acl_type;
- int s, ae_id, ae_tag, ae_perm;
- const char *ae_name;
-
-
-+#ifdef ACL_TYPE_NFS4
- // FreeBSD "brands" ACLs as POSIX.1e or NFSv4
- // Make sure the "brand" on this ACL is consistent
- // with the default_entry_acl_type bits provided.
-@@ -560,6 +569,7 @@
- return ARCHIVE_FAILED;
- break;
- }
-+#endif
-
-
- s = acl_get_entry(acl, ACL_FIRST_ENTRY, &acl_entry);
-@@ -592,9 +602,11 @@
- case ACL_OTHER:
- ae_tag = ARCHIVE_ENTRY_ACL_OTHER;
- break;
-+#ifdef ACL_TYPE_NFS4
- case ACL_EVERYONE:
- ae_tag = ARCHIVE_ENTRY_ACL_EVERYONE;
- break;
-+#endif
- default:
- /* Skip types that libarchive can't support. */
- s = acl_get_entry(acl, ACL_NEXT_ENTRY, &acl_entry);
-@@ -605,6 +617,7 @@
- // XXX acl_get_entry_type_np on FreeBSD returns EINVAL for
- // non-NFSv4 ACLs
- entry_acl_type = default_entry_acl_type;
-+#ifdef ACL_TYPE_NFS4
- r = acl_get_entry_type_np(acl_entry, &acl_type);
- if (r == 0) {
- switch (acl_type) {
-@@ -634,9 +647,10 @@
- ae_perm |= acl_inherit_map[i].archive_inherit;
-
- }
-+#endif
-
- acl_get_permset(acl_entry, &acl_permset);
-- for (i = 0; i < (int)(sizeof(acl_perm_map) / sizeof(acl_perm_map[0])); ++i) {
-+ for (i = 0; i < (int)(sizeof(acl_perm_map) / sizeof(acl_perm_map[0])); ++i) {
- /*
- * acl_get_perm() is spelled differently on different
- * platforms; see above.
-diff -ruN libarchive-3.1.2/libarchive/archive_write_disk_acl.c libarchive-3.1.2.fixed/libarchive/archive_write_disk_acl.c
---- libarchive-3.1.2/libarchive/archive_write_disk_acl.c 2013-01-14 02:43:45.000000000 +0100
-+++ libarchive-3.1.2.fixed/libarchive/archive_write_disk_acl.c 2013-08-08 10:31:35.000000000 +0200
-@@ -43,7 +43,7 @@
- #include "archive_acl_private.h"
- #include "archive_write_disk_private.h"
-
--#if !defined(HAVE_POSIX_ACL) || !defined(ACL_TYPE_NFS4)
-+#ifndef HAVE_POSIX_ACL
- /* Default empty function body to satisfy mainline code. */
- int
- archive_write_disk_set_acls(struct archive *a, int fd, const char *name,
-@@ -79,10 +79,12 @@
- ret = set_acl(a, fd, name, abstract_acl, ACL_TYPE_DEFAULT,
- ARCHIVE_ENTRY_ACL_TYPE_DEFAULT, "default");
- return (ret);
-+#ifdef ACL_TYPE_NFS4
- } else if (archive_acl_count(abstract_acl, ARCHIVE_ENTRY_ACL_TYPE_NFS4) > 0) {
- ret = set_acl(a, fd, name, abstract_acl, ACL_TYPE_NFS4,
- ARCHIVE_ENTRY_ACL_TYPE_NFS4, "nfs4");
- return (ret);
-+#endif
- } else
- return ARCHIVE_OK;
- }
-@@ -94,6 +96,7 @@
- {ARCHIVE_ENTRY_ACL_EXECUTE, ACL_EXECUTE},
- {ARCHIVE_ENTRY_ACL_WRITE, ACL_WRITE},
- {ARCHIVE_ENTRY_ACL_READ, ACL_READ},
-+#ifdef ACL_TYPE_NFS4
- {ARCHIVE_ENTRY_ACL_READ_DATA, ACL_READ_DATA},
- {ARCHIVE_ENTRY_ACL_LIST_DIRECTORY, ACL_LIST_DIRECTORY},
- {ARCHIVE_ENTRY_ACL_WRITE_DATA, ACL_WRITE_DATA},
-@@ -110,8 +113,10 @@
- {ARCHIVE_ENTRY_ACL_WRITE_ACL, ACL_WRITE_ACL},
- {ARCHIVE_ENTRY_ACL_WRITE_OWNER, ACL_WRITE_OWNER},
- {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE}
-+#endif
- };
-
-+#ifdef ACL_TYPE_NFS4
- static struct {
- int archive_inherit;
- int platform_inherit;
-@@ -121,6 +126,7 @@
- {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT},
- {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}
- };
-+#endif
-
- static int
- set_acl(struct archive *a, int fd, const char *name,
-@@ -130,7 +136,9 @@
- acl_t acl;
- acl_entry_t acl_entry;
- acl_permset_t acl_permset;
-+#ifdef ACL_TYPE_NFS4
- acl_flagset_t acl_flagset;
-+#endif
- int ret;
- int ae_type, ae_permset, ae_tag, ae_id;
- uid_t ae_uid;
-@@ -171,14 +179,17 @@
- case ARCHIVE_ENTRY_ACL_OTHER:
- acl_set_tag_type(acl_entry, ACL_OTHER);
- break;
-+#ifdef ACL_TYPE_NFS4
- case ARCHIVE_ENTRY_ACL_EVERYONE:
- acl_set_tag_type(acl_entry, ACL_EVERYONE);
- break;
-+#endif
- default:
- /* XXX */
- break;
- }
-
-+#ifdef ACL_TYPE_NFS4
- switch (ae_type) {
- case ARCHIVE_ENTRY_ACL_TYPE_ALLOW:
- acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_ALLOW);
-@@ -200,6 +211,7 @@
- // XXX error handling here.
- break;
- }
-+#endif
-
- acl_get_permset(acl_entry, &acl_permset);
- acl_clear_perms(acl_permset);
-@@ -210,6 +222,7 @@
- acl_perm_map[i].platform_perm);
- }
-
-+#ifdef ACL_TYPE_NFS4
- acl_get_flagset_np(acl_entry, &acl_flagset);
- acl_clear_flags_np(acl_flagset);
- for (i = 0; i < (int)(sizeof(acl_inherit_map) / sizeof(acl_inherit_map[0])); ++i) {
-@@ -217,6 +230,7 @@
- acl_add_flag_np(acl_flagset,
- acl_inherit_map[i].platform_inherit);
- }
-+#endif
- }
-
- /* Try restoring the ACL through 'fd' if we can. */