author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Mon, 25 Jul 2016 13:45:37 +0200 | |
changeset 6475 | abfc9174d2f0 |
permissions | -rw-r--r-- |
6475
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
1 |
Patch 7.4.2035 |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
2 |
Problem: On Solaris with ZFS the ACL may get removed. |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
3 |
Solution: Always restore the ACL for Solaris ZFS. (Danek Duvall) |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
4 |
Files: src/fileio.c |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
5 |
|
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
6 |
|
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
7 |
*** ../vim-7.4.2034/src/fileio.c 2016-07-10 22:11:11.870751341 +0200 |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
8 |
--- src/fileio.c 2016-07-14 20:33:57.407544979 +0200 |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
9 |
*************** |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
10 |
*** 4709,4717 **** |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
11 |
if (perm >= 0) /* set perm. of new file same as old file */ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
12 |
(void)mch_setperm(wfname, perm); |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
13 |
#ifdef HAVE_ACL |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
14 |
! /* Probably need to set the ACL before changing the user (can't set the |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
15 |
! * ACL on a file the user doesn't own). */ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
16 |
if (!backup_copy) |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
17 |
mch_set_acl(wfname, acl); |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
18 |
#endif |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
19 |
#ifdef FEAT_CRYPT |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
20 |
--- 4709,4725 ---- |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
21 |
if (perm >= 0) /* set perm. of new file same as old file */ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
22 |
(void)mch_setperm(wfname, perm); |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
23 |
#ifdef HAVE_ACL |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
24 |
! /* |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
25 |
! * Probably need to set the ACL before changing the user (can't set the |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
26 |
! * ACL on a file the user doesn't own). |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
27 |
! * On Solaris, with ZFS and the aclmode property set to "discard" (the |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
28 |
! * default), chmod() discards all part of a file's ACL that don't represent |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
29 |
! * the mode of the file. It's non-trivial for us to discover whether we're |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
30 |
! * in that situation, so we simply always re-set the ACL. |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
31 |
! */ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
32 |
! # ifndef HAVE_SOLARIS_ZFS_ACL |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
33 |
if (!backup_copy) |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
34 |
+ # endif |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
35 |
mch_set_acl(wfname, acl); |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
36 |
#endif |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
37 |
#ifdef FEAT_CRYPT |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
38 |
*** ../vim-7.4.2034/src/version.c 2016-07-14 20:24:59.351396346 +0200 |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
39 |
--- src/version.c 2016-07-14 20:34:53.154732074 +0200 |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
40 |
*************** |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
41 |
*** 760,761 **** |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
42 |
--- 760,763 ---- |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
43 |
{ /* Add new patch number below this line */ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
44 |
+ /**/ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
45 |
+ 2035, |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
46 |
/**/ |
abfc9174d2f0
24006594 vim removes complex ACLs with backupcopy=yes
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
47 |