diff options
author | Gregor Beck <gbeck@sernet.de> | 2011-05-23 14:27:11 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-06-07 20:02:12 +0200 |
commit | 9b31a04f6fd1d9abc15cae7ca43d506073e321f1 (patch) | |
tree | 9a834cc3ff85b7bf36ce24f0465eb214f8e52345 | |
parent | b19cc76c8a3b8feed8d347eff935e2aa8c73dc9d (diff) | |
download | samba-9b31a04f6fd1d9abc15cae7ca43d506073e321f1.tar.gz |
nfs4_acls: pass ACE_FLAG_INHERITED_ACE up to the client
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit b0471303ba50caab7da5f50e6f7d8c4b1c664238)
Fix bug #8191
(cherry picked from commit ab1fd07266075acb78276ed0e6347c6db11759c2)
-rw-r--r-- | source3/modules/nfs4_acls.c | 3 | ||||
-rw-r--r-- | source3/modules/nfs4_acls.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c index 91e98f6be83..05487299f82 100644 --- a/source3/modules/nfs4_acls.c +++ b/source3/modules/nfs4_acls.c @@ -272,6 +272,9 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */ } mapped_ace_flags = ace->aceFlags & 0xf; + if (ace->aceFlags & SMB_ACE4_INHERITED_ACE) { + mapped_ace_flags |= SEC_ACE_FLAG_INHERITED_ACE; + } if (!is_directory && (mapped_ace_flags & (SMB_ACE4_FILE_INHERIT_ACE|SMB_ACE4_DIRECTORY_INHERIT_ACE))) { /* * GPFS sets inherits dir_inhert and file_inherit flags diff --git a/source3/modules/nfs4_acls.h b/source3/modules/nfs4_acls.h index f4576b0c137..fcab6359154 100644 --- a/source3/modules/nfs4_acls.h +++ b/source3/modules/nfs4_acls.h @@ -76,9 +76,10 @@ typedef struct _SMB_ACE4PROP_T { #define SMB_ACE4_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010 #define SMB_ACE4_FAILED_ACCESS_ACE_FLAG 0x00000020 #define SMB_ACE4_IDENTIFIER_GROUP 0x00000040 +#define SMB_ACE4_INHERITED_ACE 0x00000080 #define SMB_ACE4_ALL_FLAGS ( SMB_ACE4_FILE_INHERIT_ACE | SMB_ACE4_DIRECTORY_INHERIT_ACE \ | SMB_ACE4_NO_PROPAGATE_INHERIT_ACE | SMB_ACE4_INHERIT_ONLY_ACE | SMB_ACE4_SUCCESSFUL_ACCESS_ACE_FLAG \ -| SMB_ACE4_FAILED_ACCESS_ACE_FLAG | SMB_ACE4_IDENTIFIER_GROUP ) +| SMB_ACE4_FAILED_ACCESS_ACE_FLAG | SMB_ACE4_IDENTIFIER_GROUP | SMB_ACE4_INHERITED_ACE) uint32 aceMask; /* Access rights */ /*The bitmask constants used for the access mask field are as follows: */ |