components/vim/patches/zfs-acl.patch
author April Chin <april.chin@oracle.com>
Mon, 12 Mar 2012 15:17:08 -0700
changeset 730 38f3620b2700
parent 672 92e2da956d23
permissions -rw-r--r--
6960343 Upgrade PCRE to 8.10 or higher PSARC/2012/081 Update pcre to v8.21
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
672
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     1
--- src/configure.in	Tue Jan 10 16:13:35 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     2
+++ src/configure.in	Fri Jan 13 14:10:21 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     3
@@ -3106,6 +3106,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     4
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     5
 dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     6
 dnl when -lacl works, also try to use -lattr (required for Debian).
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     7
+dnl On Solaris, use the acl_get/set functions in libsec, if present.
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     8
 AC_MSG_CHECKING(--disable-acl argument)
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     9
 AC_ARG_ENABLE(acl,
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    10
 	[  --disable-acl           Don't check for ACL support.],
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    11
@@ -3128,7 +3129,8 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    12
 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    13
 	AC_MSG_RESULT(no))
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    14
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    15
-AC_MSG_CHECKING(for Solaris ACL support)
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    16
+AC_CHECK_LIB(sec, acl_get, [LIBS="$LIBS -lsec"; AC_DEFINE(HAVE_SOLARIS_ZFS_ACL)],
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    17
+AC_MSG_CHECKING(for Solaris ACL support)
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    18
 AC_TRY_LINK([
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    19
 #ifdef HAVE_SYS_ACL_H
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    20
 # include <sys/acl.h>
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    21
@@ -3135,7 +3137,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    22
 #endif], [acl("foo", GETACLCNT, 0, NULL);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    23
 	],
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    24
 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    25
-	AC_MSG_RESULT(no))
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    26
+	AC_MSG_RESULT(no)))
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    27
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    28
 AC_MSG_CHECKING(for AIX ACL support)
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    29
 AC_TRY_LINK([
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    30
--- src/config.h.in	Fri Jan 13 13:29:05 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    31
+++ src/config.h.in	Fri Jan 13 13:29:13 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    32
@@ -363,6 +363,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    33
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    34
 /* Define if you want to add support for ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    35
 #undef HAVE_POSIX_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    36
+#undef HAVE_SOLARIS_ZFS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    37
 #undef HAVE_SOLARIS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    38
 #undef HAVE_AIX_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    39
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    40
--- src/os_unix.c	Tue Jan 10 16:13:35 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    41
+++ src/os_unix.c	Fri Jan 13 15:57:08 2012
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    42
@@ -2746,6 +2746,13 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    43
 #ifdef HAVE_POSIX_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    44
     ret = (vim_acl_T)acl_get_file((char *)fname, ACL_TYPE_ACCESS);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    45
 #else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    46
+#ifdef HAVE_SOLARIS_ZFS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    47
+    acl_t *aclent;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    48
+
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    49
+    if (acl_get((char *)fname, 0, &aclent) < 0)
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    50
+	return NULL;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    51
+    ret = (vim_acl_T)aclent;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    52
+#else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    53
 #ifdef HAVE_SOLARIS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    54
     vim_acl_solaris_T   *aclent;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    55
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    56
@@ -2791,6 +2798,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    57
     ret = (vim_acl_T)aclent;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    58
 #endif /* HAVE_AIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    59
 #endif /* HAVE_SOLARIS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    60
+#endif /* HAVE_SOLARIS_ZFS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    61
 #endif /* HAVE_POSIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    62
     return ret;
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    63
 }
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    64
@@ -2808,6 +2816,9 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    65
 #ifdef HAVE_POSIX_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    66
     acl_set_file((char *)fname, ACL_TYPE_ACCESS, (acl_t)aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    67
 #else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    68
+#ifdef HAVE_SOLARIS_ZFS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    69
+    acl_set((char *)fname, (acl_t *)aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    70
+#else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    71
 #ifdef HAVE_SOLARIS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    72
     acl((char *)fname, SETACL, ((vim_acl_solaris_T *)aclent)->acl_cnt,
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    73
 	    ((vim_acl_solaris_T *)aclent)->acl_entry);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    74
@@ -2816,6 +2827,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    75
     chacl((char *)fname, aclent, ((struct acl *)aclent)->acl_len);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    76
 #endif /* HAVE_AIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    77
 #endif /* HAVE_SOLARIS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    78
+#endif /* HAVE_SOLARIS_ZFS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    79
 #endif /* HAVE_POSIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    80
 }
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    81
 
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    82
@@ -2828,6 +2840,9 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    83
 #ifdef HAVE_POSIX_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    84
     acl_free((acl_t)aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    85
 #else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    86
+#ifdef HAVE_SOLARIS_ZFS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    87
+    acl_free((acl_t *)aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    88
+#else
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    89
 #ifdef HAVE_SOLARIS_ACL
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    90
     free(((vim_acl_solaris_T *)aclent)->acl_entry);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    91
     free(aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    92
@@ -2836,6 +2851,7 @@
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    93
     free(aclent);
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    94
 #endif /* HAVE_AIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    95
 #endif /* HAVE_SOLARIS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    96
+#endif /* HAVE_SOLARIS_ZFS_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    97
 #endif /* HAVE_POSIX_ACL */
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    98
 }
92e2da956d23 7085706 update vim to 7.3.421
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    99
 #endif