From 03943da8bdcf522e5f5a1dd81cd8558de4e7629a Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 31 Jan 2012 22:26:23 +0100 Subject: [PATCH] s3: Delete streams on directories (cherry picked from commit 9ba7748b5f1c08dbefbb8d9c9646f631c2a355e0) --- source3/smbd/close.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 25c8b4640e9..a431a5de561 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -1042,6 +1042,17 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp, TALLOC_FREE(lck); + if ((fsp->conn->fs_capabilities & FILE_NAMED_STREAMS) + && !is_ntfs_stream_smb_fname(fsp->fsp_name)) { + + status = delete_all_streams(fsp->conn, fsp->fsp_name->base_name); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(5, ("delete_all_streams failed: %s\n", + nt_errstr(status))); + goto out; + } + } + status = rmdir_internals(talloc_tos(), fsp); DEBUG(5,("close_directory: %s. Delete on close was set - " -- 2.11.4.GIT