components/vim/patches/7.4.2035.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Mon, 25 Jul 2016 13:45:37 +0200
changeset 6475 abfc9174d2f0
permissions -rw-r--r--
24006594 vim removes complex ACLs with backupcopy=yes

Patch 7.4.2035
Problem:    On Solaris with ZFS the ACL may get removed.
Solution:   Always restore the ACL for Solaris ZFS. (Danek Duvall)
Files:      src/fileio.c


*** ../vim-7.4.2034/src/fileio.c	2016-07-10 22:11:11.870751341 +0200
--- src/fileio.c	2016-07-14 20:33:57.407544979 +0200
***************
*** 4709,4717 ****
      if (perm >= 0)		/* set perm. of new file same as old file */
  	(void)mch_setperm(wfname, perm);
  #ifdef HAVE_ACL
!     /* Probably need to set the ACL before changing the user (can't set the
!      * ACL on a file the user doesn't own). */
      if (!backup_copy)
  	mch_set_acl(wfname, acl);
  #endif
  #ifdef FEAT_CRYPT
--- 4709,4725 ----
      if (perm >= 0)		/* set perm. of new file same as old file */
  	(void)mch_setperm(wfname, perm);
  #ifdef HAVE_ACL
!     /*
!      * Probably need to set the ACL before changing the user (can't set the
!      * ACL on a file the user doesn't own).
!      * On Solaris, with ZFS and the aclmode property set to "discard" (the
!      * default), chmod() discards all part of a file's ACL that don't represent
!      * the mode of the file.  It's non-trivial for us to discover whether we're
!      * in that situation, so we simply always re-set the ACL.
!      */
! # ifndef HAVE_SOLARIS_ZFS_ACL
      if (!backup_copy)
+ # endif
  	mch_set_acl(wfname, acl);
  #endif
  #ifdef FEAT_CRYPT
*** ../vim-7.4.2034/src/version.c	2016-07-14 20:24:59.351396346 +0200
--- src/version.c	2016-07-14 20:34:53.154732074 +0200
***************
*** 760,761 ****
--- 760,763 ----
  {   /* Add new patch number below this line */
+ /**/
+     2035,
  /**/