diff options
author | Jeremy Allison <jra@samba.org> | 2013-01-24 11:02:30 -0800 |
---|---|---|
committer | David Disseldorp <ddiss@samba.org> | 2013-01-25 12:01:41 +0100 |
commit | 3d46a077dd0999cc0c6032379147811c8bb660fb (patch) | |
tree | 0ab13bc69130f1f179209395497f2423425f06e1 /source3/smbd | |
parent | c5db4eb9104f1a95220273ee2b0290d157053922 (diff) | |
download | samba-3d46a077dd0999cc0c6032379147811c8bb660fb.tar.gz samba-3d46a077dd0999cc0c6032379147811c8bb660fb.tar.bz2 samba-3d46a077dd0999cc0c6032379147811c8bb660fb.zip |
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 <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/reply.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 6e1cd27803..64c4fdbe59 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -6416,7 +6416,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 |