[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-857-ge76af51

Jeremy Allison jra at samba.org
Thu Aug 6 13:51:01 MDT 2009


The branch, master has been updated
       via  e76af514c3a99a6c65398a9d7a99012ff73583eb (commit)
      from  4fc9f9c3f943cdeb27e37f0ee068cdd0da7cb00c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e76af514c3a99a6c65398a9d7a99012ff73583eb
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 6 12:50:16 2009 -0700

    Put SMB_INFO_STANDARD back into setfileinfo, but do it right
    this time :-).
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/trans2.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 184a858..21c5062 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -6110,6 +6110,41 @@ static NTSTATUS smb_set_file_basic_info(connection_struct *conn,
 }
 
 /****************************************************************************
+ Deal with SMB_INFO_STANDARD.
+****************************************************************************/
+
+static NTSTATUS smb_set_info_standard(connection_struct *conn,
+					const char *pdata,
+					int total_data,
+					files_struct *fsp,
+					const struct smb_filename *smb_fname)
+{
+	struct smb_file_time ft;
+
+	ZERO_STRUCT(ft);
+
+	if (total_data < 12) {
+		return NT_STATUS_INVALID_PARAMETER;
+	}
+
+	/* create time */
+	ft.create_time = convert_time_t_to_timespec(srv_make_unix_date2(pdata));
+	/* access time */
+	ft.atime = convert_time_t_to_timespec(srv_make_unix_date2(pdata+4));
+	/* write time */
+	ft.mtime = convert_time_t_to_timespec(srv_make_unix_date2(pdata+8));
+
+	DEBUG(10,("smb_set_info_standard: file %s\n",
+		smb_fname_str_dbg(smb_fname)));
+
+        return smb_set_file_time(conn,
+                                fsp,
+				smb_fname,
+				&ft,
+                                true);
+}
+
+/****************************************************************************
  Deal with SMB_SET_FILE_ALLOCATION_INFO.
 ****************************************************************************/
 
@@ -7086,6 +7121,16 @@ NTSTATUS smbd_do_setfilepathinfo(connection_struct *conn,
 
 	switch (info_level) {
 
+		case SMB_INFO_STANDARD:
+		{
+			status = smb_set_info_standard(conn,
+					pdata,
+					total_data,
+					fsp,
+					smb_fname);
+			break;
+		}
+
 		case SMB_INFO_SET_EA:
 		{
 			status = smb_info_set_ea(conn,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list