status = get_ea_names_from_file(talloc_tos(),
handle->conn,
fsp,
- smb_fname->base_name,
+ smb_fname,
&names,
&num_names);
if (!NT_STATUS_IS_OK(status)) {
/* Do we have any EA's ? */
status = get_ea_names_from_file(ctx, conn, fsp,
- smb_fname->base_name, NULL, &num_names);
+ smb_fname, NULL, &num_names);
if (NT_STATUS_IS_OK(status) && num_names) {
file_status &= ~NO_EAS;
}
/* Do we have any EA's ? */
status = get_ea_names_from_file(ctx, conn, fsp,
- smb_fname->base_name, NULL, &num_names);
+ smb_fname, NULL, &num_names);
if (NT_STATUS_IS_OK(status) && num_names) {
file_status &= ~NO_EAS;
}
NTSTATUS get_ea_value(TALLOC_CTX *mem_ctx, connection_struct *conn,
files_struct *fsp, const char *fname,
const char *ea_name, struct ea_struct *pea);
-NTSTATUS get_ea_names_from_file(TALLOC_CTX *mem_ctx, connection_struct *conn,
- files_struct *fsp, const char *fname,
- char ***pnames, size_t *pnum_names);
+NTSTATUS get_ea_names_from_file(TALLOC_CTX *mem_ctx,
+ connection_struct *conn,
+ files_struct *fsp,
+ const struct smb_filename *smb_fname,
+ char ***pnames,
+ size_t *pnum_names);
NTSTATUS set_ea(connection_struct *conn, files_struct *fsp,
const struct smb_filename *smb_fname, struct ea_list *ea_list);
struct ea_list *read_ea_list_entry(TALLOC_CTX *ctx, const char *pdata, size_t data_size, size_t *pbytes_used);
return NT_STATUS_OK;
}
-NTSTATUS get_ea_names_from_file(TALLOC_CTX *mem_ctx, connection_struct *conn,
- files_struct *fsp, const char *fname,
- char ***pnames, size_t *pnum_names)
+NTSTATUS get_ea_names_from_file(TALLOC_CTX *mem_ctx,
+ connection_struct *conn,
+ files_struct *fsp,
+ const struct smb_filename *smb_fname,
+ char ***pnames,
+ size_t *pnum_names)
{
/* Get a list of all xattrs. Max namesize is 64k. */
size_t ea_namelist_size = 1024;
return NT_STATUS_OK;
}
- status = refuse_symlink(conn, fsp, fname);
+ status = refuse_symlink(conn, fsp, smb_fname->base_name);
if (!NT_STATUS_IS_OK(status)) {
/*
* Just return no EA's on a symlink.
sizeret = SMB_VFS_FLISTXATTR(fsp, ea_namelist,
ea_namelist_size);
} else {
- sizeret = SMB_VFS_LISTXATTR(conn, fname, ea_namelist,
- ea_namelist_size);
+ sizeret = SMB_VFS_LISTXATTR(conn,
+ smb_fname->base_name,
+ ea_namelist,
+ ea_namelist_size);
}
if ((sizeret == -1) && (errno == ERANGE)) {
status = get_ea_names_from_file(talloc_tos(),
conn,
fsp,
- smb_fname->base_name,
+ smb_fname,
&names,
&num_names);