summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-11-17 23:44:52 +0000
committerJeremy Allison <jra@samba.org>1998-11-17 23:44:52 +0000
commit490439d77a7fe3daadce1f30f17f03896c6739aa (patch)
tree3f183b3cc8b3c0a6e8c5b9fdb90c7798f1f954ef /source3/smbd/reply.c
parent157fe90d2ea172faa0b2f4e5fe5bfb8ce44a6520 (diff)
downloadsamba-490439d77a7fe3daadce1f30f17f03896c6739aa.tar.gz
samba-490439d77a7fe3daadce1f30f17f03896c6739aa.tar.bz2
samba-490439d77a7fe3daadce1f30f17f03896c6739aa.zip
Fixed NT modify timestamp issue.
If a client does a modify timestamp on an open file (which will do no good at all on UNIX :-) then keep the modify request pending in the files_struct and apply it at close instead. Jeremy. (This used to be commit 92a7a86f0e0255e3812dd35bebfcd653091514ae)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 78a09e46e7..12bf098a94 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -2492,6 +2492,17 @@ int reply_close(connection_struct *conn,
/*
* Close ordinary file.
*/
+
+ /*
+ * If there was a modify time outstanding,
+ * try and set it here.
+ */
+ if(fsp->pending_modtime)
+ set_filetime(conn, fsp->fsp_name, fsp->pending_modtime);
+
+ /*
+ * Now take care of any time sent in the close.
+ */
mtime = make_unix_date3(inbuf+smb_vwv1);
/* try and set the date */