summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.432
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.432')
-rw-r--r--source/ap/vim/patches/7.3.432228
1 files changed, 228 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.432 b/source/ap/vim/patches/7.3.432
new file mode 100644
index 000000000..c01dd59a0
--- /dev/null
+++ b/source/ap/vim/patches/7.3.432
@@ -0,0 +1,228 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.432
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.432
+Problem: ACLs are not supported for ZFS or NFSv4 on Solaris.
+Solution: Add configure check and code. (Danek Duvall)
+Files: src/configure.in, src/auto/configure, src/config.h.in,
+ src/os_unix.c
+
+
+*** ../vim-7.3.431/src/configure.in 2011-12-14 20:51:19.000000000 +0100
+--- src/configure.in 2012-02-05 22:40:22.000000000 +0100
+***************
+*** 3106,3111 ****
+--- 3106,3112 ----
+
+ dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
+ dnl when -lacl works, also try to use -lattr (required for Debian).
++ dnl On Solaris, use the acl_get/set functions in libsec, if present.
+ AC_MSG_CHECKING(--disable-acl argument)
+ AC_ARG_ENABLE(acl,
+ [ --disable-acl Don't check for ACL support.],
+***************
+*** 3128,3133 ****
+--- 3129,3135 ----
+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
+ AC_MSG_RESULT(no))
+
++ AC_CHECK_LIB(sec, acl_get, [LIBS="$LIBS -lsec"; AC_DEFINE(HAVE_SOLARIS_ZFS_ACL)],
+ AC_MSG_CHECKING(for Solaris ACL support)
+ AC_TRY_LINK([
+ #ifdef HAVE_SYS_ACL_H
+***************
+*** 3135,3141 ****
+ #endif], [acl("foo", GETACLCNT, 0, NULL);
+ ],
+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
+! AC_MSG_RESULT(no))
+
+ AC_MSG_CHECKING(for AIX ACL support)
+ AC_TRY_LINK([
+--- 3137,3143 ----
+ #endif], [acl("foo", GETACLCNT, 0, NULL);
+ ],
+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
+! AC_MSG_RESULT(no)))
+
+ AC_MSG_CHECKING(for AIX ACL support)
+ AC_TRY_LINK([
+*** ../vim-7.3.431/src/auto/configure 2011-12-14 20:51:19.000000000 +0100
+--- src/auto/configure 2012-02-05 22:41:01.000000000 +0100
+***************
+*** 11328,11334 ****
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris ACL support" >&5
+ $as_echo_n "checking for Solaris ACL support... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+--- 11328,11374 ----
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
+! $as_echo_n "checking for acl_get in -lsec... " >&6; }
+! if test "${ac_cv_lib_sec_acl_get+set}" = set; then :
+! $as_echo_n "(cached) " >&6
+! else
+! ac_check_lib_save_LIBS=$LIBS
+! LIBS="-lsec $LIBS"
+! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+! /* end confdefs.h. */
+!
+! /* Override any GCC internal prototype to avoid an error.
+! Use char because int might match the return type of a GCC
+! builtin and then its argument prototype would still apply. */
+! #ifdef __cplusplus
+! extern "C"
+! #endif
+! char acl_get ();
+! int
+! main ()
+! {
+! return acl_get ();
+! ;
+! return 0;
+! }
+! _ACEOF
+! if ac_fn_c_try_link "$LINENO"; then :
+! ac_cv_lib_sec_acl_get=yes
+! else
+! ac_cv_lib_sec_acl_get=no
+! fi
+! rm -f core conftest.err conftest.$ac_objext \
+! conftest$ac_exeext conftest.$ac_ext
+! LIBS=$ac_check_lib_save_LIBS
+! fi
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
+! $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
+! if test "x$ac_cv_lib_sec_acl_get" = x""yes; then :
+! LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
+!
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris ACL support" >&5
+ $as_echo_n "checking for Solaris ACL support... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+***************
+*** 11355,11360 ****
+--- 11395,11402 ----
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
++ fi
++
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AIX ACL support" >&5
+ $as_echo_n "checking for AIX ACL support... " >&6; }
+*** ../vim-7.3.431/src/config.h.in 2011-09-02 12:27:20.000000000 +0200
+--- src/config.h.in 2012-02-05 22:40:22.000000000 +0100
+***************
+*** 363,368 ****
+--- 363,369 ----
+
+ /* Define if you want to add support for ACL */
+ #undef HAVE_POSIX_ACL
++ #undef HAVE_SOLARIS_ZFS_ACL
+ #undef HAVE_SOLARIS_ACL
+ #undef HAVE_AIX_ACL
+
+*** ../vim-7.3.431/src/os_unix.c 2012-01-10 22:26:12.000000000 +0100
+--- src/os_unix.c 2012-02-05 22:40:22.000000000 +0100
+***************
+*** 2746,2751 ****
+--- 2746,2758 ----
+ #ifdef HAVE_POSIX_ACL
+ ret = (vim_acl_T)acl_get_file((char *)fname, ACL_TYPE_ACCESS);
+ #else
++ #ifdef HAVE_SOLARIS_ZFS_ACL
++ acl_t *aclent;
++
++ if (acl_get((char *)fname, 0, &aclent) < 0)
++ return NULL;
++ ret = (vim_acl_T)aclent;
++ #else
+ #ifdef HAVE_SOLARIS_ACL
+ vim_acl_solaris_T *aclent;
+
+***************
+*** 2791,2796 ****
+--- 2798,2804 ----
+ ret = (vim_acl_T)aclent;
+ #endif /* HAVE_AIX_ACL */
+ #endif /* HAVE_SOLARIS_ACL */
++ #endif /* HAVE_SOLARIS_ZFS_ACL */
+ #endif /* HAVE_POSIX_ACL */
+ return ret;
+ }
+***************
+*** 2808,2813 ****
+--- 2816,2824 ----
+ #ifdef HAVE_POSIX_ACL
+ acl_set_file((char *)fname, ACL_TYPE_ACCESS, (acl_t)aclent);
+ #else
++ #ifdef HAVE_SOLARIS_ZFS_ACL
++ acl_set((char *)fname, (acl_t *)aclent);
++ #else
+ #ifdef HAVE_SOLARIS_ACL
+ acl((char *)fname, SETACL, ((vim_acl_solaris_T *)aclent)->acl_cnt,
+ ((vim_acl_solaris_T *)aclent)->acl_entry);
+***************
+*** 2816,2821 ****
+--- 2827,2833 ----
+ chacl((char *)fname, aclent, ((struct acl *)aclent)->acl_len);
+ #endif /* HAVE_AIX_ACL */
+ #endif /* HAVE_SOLARIS_ACL */
++ #endif /* HAVE_SOLARIS_ZFS_ACL */
+ #endif /* HAVE_POSIX_ACL */
+ }
+
+***************
+*** 2828,2833 ****
+--- 2840,2848 ----
+ #ifdef HAVE_POSIX_ACL
+ acl_free((acl_t)aclent);
+ #else
++ #ifdef HAVE_SOLARIS_ZFS_ACL
++ acl_free((acl_t *)aclent);
++ #else
+ #ifdef HAVE_SOLARIS_ACL
+ free(((vim_acl_solaris_T *)aclent)->acl_entry);
+ free(aclent);
+***************
+*** 2836,2841 ****
+--- 2851,2857 ----
+ free(aclent);
+ #endif /* HAVE_AIX_ACL */
+ #endif /* HAVE_SOLARIS_ACL */
++ #endif /* HAVE_SOLARIS_ZFS_ACL */
+ #endif /* HAVE_POSIX_ACL */
+ }
+ #endif
+*** ../vim-7.3.431/src/version.c 2012-02-05 22:05:44.000000000 +0100
+--- src/version.c 2012-02-05 22:44:10.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 432,
+ /**/
+
+--
+If you put 7 of the most talented OSS developers in a room for a week
+and asked them to fix a bug in a spreadsheet program, in 1 week
+you'd have 2 new mail readers and a text-based web browser.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///