The branch, v3-4-ctdb has been updated via 2a7bcead15cb4f5ad9652c9461a7c40d1258c226 (commit) via 65953130f6add91e2cdbe5944c98e49c3ed29ad3 (commit) via 732b3581d9d80a3bcce588e248aaf49e79b72c23 (commit) from 01a3032f84287f52834e881c2c17fd6977dbc774 (commit)
http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-4-ctdb - Log ----------------------------------------------------------------- commit 2a7bcead15cb4f5ad9652c9461a7c40d1258c226 Author: Michael Adam <ob...@samba.org> Date: Mon Aug 10 18:18:19 2009 +0200 gpfs.so: map the file_inherit and dir_inherit flags away for files GPFS sets inherits dir_inhert and file_inherit flags to files, too, which confuses windows, and seems to be wrong anyways. So when mapping a nfs4 acl to a windows acl, we map these flags away for files. Michael commit 65953130f6add91e2cdbe5944c98e49c3ed29ad3 Author: Volker Lendecke <v...@samba.org> Date: Thu Jun 25 14:46:17 2009 +0200 Add a \n to a debug message in smbacl4_nfs42win commit 732b3581d9d80a3bcce588e248aaf49e79b72c23 Author: Volker Lendecke <v...@samba.org> Date: Sun May 24 22:16:34 2009 +0200 Fix a size_t/int warning ----------------------------------------------------------------------- Summary of changes: source3/modules/nfs4_acls.c | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c index 01691a8..f3eb22f 100644 --- a/source3/modules/nfs4_acls.c +++ b/source3/modules/nfs4_acls.c @@ -208,7 +208,7 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */ SEC_ACE *nt_ace_list = NULL; int good_aces = 0; - DEBUG(10, ("smbacl_nfs42win entered")); + DEBUG(10, ("smbacl_nfs42win entered\n")); aclint = get_validated_aclint(theacl); /* We do not check for naces being 0 or theacl being NULL here because it is done upstream */ @@ -225,6 +225,7 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */ uint32_t mask; DOM_SID sid; SMB_ACE4PROP_T *ace = &aceint->prop; + uint32_t mapped_ace_flags; DEBUG(10, ("magic: 0x%x, type: %d, iflags: %x, flags: %x, mask: %x, " "who: %d\n", aceint->magic, ace->aceType, ace->flags, @@ -261,10 +262,23 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */ ace->aceMask |= SMB_ACE4_DELETE_CHILD; } + mapped_ace_flags = ace->aceFlags & 0xf; + if (!is_directory && (mapped_ace_flags & 0x3)) { + /* + * GPFS sets inherits dir_inhert and file_inherit flags + * to files, too, which confuses windows, and seems to + * be wrong anyways. ==> Map these bits away for files. + */ + DEBUG(10, ("removing inherit flags from nfs4 ace\n")); + mapped_ace_flags &= ~0x3; + } + DEBUG(10, ("mapped ace flags: 0x%x => 0x%x\n", + ace->aceFlags, mapped_ace_flags)); + mask = ace->aceMask; init_sec_ace(&nt_ace_list[good_aces++], &sid, ace->aceType, mask, - ace->aceFlags & 0xf); + mapped_ace_flags); } *ppnt_ace_list = nt_ace_list; @@ -316,7 +330,7 @@ static NTSTATUS smb_get_nt_acl_nfs4_common(const SMB_STRUCT_STAT *sbuf, } DEBUG(10, ("smb_get_nt_acl_nfs4_common successfully exited with sd_size %d\n", - ndr_size_security_descriptor(*ppdesc, NULL, 0))); + (int)ndr_size_security_descriptor(*ppdesc, NULL, 0))); return NT_STATUS_OK; } -- SAMBA-CTDB repository