X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/52e09c4e076125dd724f969fe00062f2a0815de4..041359b073df4fe698ec80f2e0699a2585b2337b:/adaptec_acl_mods.diff diff --git a/adaptec_acl_mods.diff b/adaptec_acl_mods.diff index 9e29f35..fca8569 100644 --- a/adaptec_acl_mods.diff +++ b/adaptec_acl_mods.diff @@ -10,7 +10,7 @@ Philip Lowman wrote: > chmod, and chown bits which Adaptec has added to XFS on their SnapOS NAS > units. This is nice for backing up files between different NAS units > and preserving all of the Samba ACLs. -> +> > I'm not sure how useful this patch will be because I'm not sure if any > other NAS vendors have standardized on their extensions to POSIX ACLs to > support Samba in the same manner that Adaptec has. FWIW, though, this @@ -24,9 +24,11 @@ Todo: Fix a bug that could lose some bits when stripping some (supposedly) superfluous ACL info. ---- old/lib/sysacls.c -+++ new/lib/sysacls.c -@@ -30,6 +30,18 @@ +based-on: 3b8f8192227b14e708bf535072485e50f4362270 +diff --git a/lib/sysacls.c b/lib/sysacls.c +--- a/lib/sysacls.c ++++ b/lib/sysacls.c +@@ -31,6 +31,18 @@ #endif #define DEBUG(x,y) @@ -45,7 +47,7 @@ superfluous ACL info. void SAFE_FREE(void *mem) { if (mem) -@@ -99,6 +111,9 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T ent +@@ -100,6 +112,9 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T *tag_type_p, uint32 *b return -1; *bits_p = (acl_get_perm(permset, ACL_READ) ? 4 : 0) @@ -55,7 +57,7 @@ superfluous ACL info. | (acl_get_perm(permset, ACL_WRITE) ? 2 : 0) | (acl_get_perm(permset, ACL_EXECUTE) ? 1 : 0); -@@ -143,6 +158,12 @@ int sys_acl_set_access_bits(SMB_ACL_ENTR +@@ -144,6 +159,12 @@ int sys_acl_set_access_bits(SMB_ACL_ENTRY_T entry, uint32 bits) if ((rc = acl_get_permset(entry, &permset)) != 0) return rc; acl_clear_perms(permset); @@ -68,9 +70,10 @@ superfluous ACL info. if (bits & 4) acl_add_perm(permset, ACL_READ); if (bits & 2) ---- old/lib/sysacls.h -+++ new/lib/sysacls.h -@@ -58,8 +58,8 @@ +diff --git a/lib/sysacls.h b/lib/sysacls.h +--- a/lib/sysacls.h ++++ b/lib/sysacls.h +@@ -59,8 +59,8 @@ #define SMB_ACL_TYPE_ACCESS ACL_TYPE_ACCESS #define SMB_ACL_TYPE_DEFAULT ACL_TYPE_DEFAULT