static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle, const char *name, uint32 security_info, SEC_DESC **ppdesc) { SMB4ACL_T *pacl = NULL; int result; *ppdesc = NULL; result = gpfs_get_nfs4_acl(name, &pacl); if (result == 0) return smb_get_nt_acl_nfs4(handle->conn, name, security_info, ppdesc, pacl); if (result > 0) { DEBUG(10, ("retrying with posix acl...\n")); return posix_get_nt_acl(handle->conn, name, security_info, ppdesc); } /* GPFS ACL was not read, something wrong happened, error code is set in errno */ return map_nt_error_from_unix(errno); }
static NTSTATUS aixjfs2_get_nt_acl(vfs_handle_struct *handle, const char *name, uint32 security_info, struct security_descriptor **ppdesc) { SMB4ACL_T *pacl = NULL; bool result; bool retryPosix = False; *ppdesc = NULL; result = aixjfs2_get_nfs4_acl(name, &pacl, &retryPosix); if (retryPosix) { DEBUG(10, ("retrying with posix acl...\n")); return posix_get_nt_acl(handle->conn, name, security_info, ppdesc); } if (result==False) return NT_STATUS_ACCESS_DENIED; return smb_get_nt_acl_nfs4(handle->conn, name, security_info, ppdesc, pacl); }