From cadb49bb7113185e993d9049ffb97043b2aba791 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 30 Mar 2010 22:05:27 -0700 Subject: [PATCH] Fix bug 7310 - DOS attribute inconsistency with MS Office On rename we need to set the archive bit on the renamed file. Jeremy --- source3/smbd/reply.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 8d40ed6..fc85f70 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -5846,6 +5846,18 @@ 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_map_archive(SNUM(conn)) || + lp_store_dos_attributes(SNUM(conn))) { + /* We must set the archive bit on the newly + renamed file. */ + uint32_t old_dosmode = dos_mode(conn, smb_fname_dst); + file_set_dosmode(conn, + smb_fname_dst, + old_dosmode | FILE_ATTRIBUTE_ARCHIVE, + NULL, + false); + } + notify_rename(conn, fsp->is_directory, fsp->fsp_name, smb_fname_dst); -- 1.6.3.3