From 7bf41fc3cea8a3c71b8b7a9bf3c9edad4a3d0dc5 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 24 Jan 2013 11:02:30 -0800 Subject: [PATCH] Fix bug #9587 - archive flag is always set on directories. Creating a directory to a Samba share sets the attributes to 'D' only (correct) - only when creating a new file should the 'A' attribute be set. However, doing a rename of that directory sets the 'A' attribute in error. This should only be done on a file rename. smbclient regression test to follow. Signed-off-by: Jeremy Allison --- source3/smbd/reply.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index ac471aa..a708fd8 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -6187,7 +6187,8 @@ NTSTATUS rename_internals_fsp(connection_struct *conn, "%s -> %s\n", smb_fname_str_dbg(fsp->fsp_name), smb_fname_str_dbg(smb_fname_dst))); - if (!lp_posix_pathnames() && + if (!fsp->is_directory && + !lp_posix_pathnames() && (lp_map_archive(SNUM(conn)) || lp_store_dos_attributes(SNUM(conn)))) { /* We must set the archive bit on the newly -- 1.8.1