From 431e63cd8bfff6f67b6e6595ee5a054877709c0d Mon Sep 17 00:00:00 2001 From: Tim Prouty Date: Mon, 6 Jul 2009 15:26:57 -0700 Subject: s3: Update streaminfo implementations now that only base names are passed through the vfs --- source3/modules/vfs_streams_xattr.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source3/modules/vfs_streams_xattr.c') diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c index 6137d01159b..74b14ff93f5 100644 --- a/source3/modules/vfs_streams_xattr.c +++ b/source3/modules/vfs_streams_xattr.c @@ -785,20 +785,22 @@ static NTSTATUS streams_xattr_streaminfo(vfs_handle_struct *handle, struct streaminfo_state state; if ((fsp != NULL) && (fsp->fh->fd != -1)) { - if (is_ntfs_stream_name(fsp->fsp_name)) { - return NT_STATUS_INVALID_PARAMETER; - } ret = SMB_VFS_FSTAT(fsp, &sbuf); } else { - if (is_ntfs_stream_name(fname)) { - return NT_STATUS_INVALID_PARAMETER; + struct smb_filename *smb_fname = NULL; + status = create_synthetic_smb_fname(talloc_tos(), fname, NULL, + NULL, &smb_fname); + if (!NT_STATUS_IS_OK(status)) { + return status; } if (lp_posix_pathnames()) { - ret = vfs_lstat_smb_fname(handle->conn, fname, &sbuf); + ret = SMB_VFS_LSTAT(handle->conn, smb_fname); } else { - ret = vfs_stat_smb_fname(handle->conn, fname, &sbuf); + ret = SMB_VFS_STAT(handle->conn, smb_fname); } + sbuf = smb_fname->st; + TALLOC_FREE(smb_fname); } if (ret == -1) { -- cgit