diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.432')
-rw-r--r-- | source/ap/vim/patches/7.3.432 | 228 |
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 /// |