Ejemplo n.º 1
0
NTSTATUS smb_fget_nt_acl_nfs4(files_struct *fsp,
                              uint32 security_info,
                              TALLOC_CTX *mem_ctx,
                              struct security_descriptor **ppdesc,
                              SMB4ACL_T *theacl)
{
    SMB_STRUCT_STAT sbuf;
    smbacl4_vfs_params params;

    DEBUG(10, ("smb_fget_nt_acl_nfs4 invoked for %s\n", fsp_str_dbg(fsp)));

    if (smbacl4_fGetFileOwner(fsp, &sbuf)) {
        return map_nt_error_from_unix(errno);
    }

    /* Special behaviours */
    if (smbacl4_get_vfs_params(SMBACL4_PARAM_TYPE_NAME, fsp->conn, &params)) {
        return NT_STATUS_NO_MEMORY;
    }

    return smb_get_nt_acl_nfs4_common(&sbuf, &params, security_info,
                                      mem_ctx, ppdesc, theacl);
}
Ejemplo n.º 2
0
NTSTATUS smb_get_nt_acl_nfs4(struct connection_struct *conn,
			     const char *name,
			     uint32_t security_info,
			     TALLOC_CTX *mem_ctx,
			     struct security_descriptor **ppdesc,
			     struct SMB4ACL_T *theacl)
{
	SMB_STRUCT_STAT sbuf;
	smbacl4_vfs_params params;

	DEBUG(10, ("smb_get_nt_acl_nfs4 invoked for %s\n", name));

	if (smbacl4_GetFileOwner(conn, name, &sbuf)) {
		return map_nt_error_from_unix(errno);
	}

	/* Special behaviours */
	if (smbacl4_get_vfs_params(conn, &params)) {
		return NT_STATUS_NO_MEMORY;
	}

	return smb_get_nt_acl_nfs4_common(&sbuf, &params, security_info,
					  mem_ctx, ppdesc, theacl);
}