[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Mon Jul 23 08:23:02 MDT 2012


The branch, master has been updated
       via  0b903e1 s3:smbd: if a fsp has fsp->deferred_close, clients shouldn't be able to use it
      from  e2cea8f s4-classicupgrade: Add unix attributes during upgrade

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


- Log -----------------------------------------------------------------
commit 0b903e1cf53439898ad1f088c6278f1ef1115328
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jul 23 12:07:42 2012 +0200

    s3:smbd: if a fsp has fsp->deferred_close, clients shouldn't be able to use it
    
    metze
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Mon Jul 23 16:22:03 CEST 2012 on sn-devel-104

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

Summary of changes:
 source3/smbd/files.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/files.c b/source3/smbd/files.c
index 390718f..0550b31 100644
--- a/source3/smbd/files.c
+++ b/source3/smbd/files.c
@@ -544,6 +544,9 @@ files_struct *file_fsp(struct smb_request *req, uint16 fid)
 	}
 
 	if (req->chain_fsp != NULL) {
+		if (req->chain_fsp->deferred_close) {
+			return NULL;
+		}
 		return req->chain_fsp;
 	}
 
@@ -560,9 +563,15 @@ files_struct *file_fsp(struct smb_request *req, uint16 fid)
 	}
 
 	fsp = op->compat;
-	if (fsp != NULL) {
-		req->chain_fsp = fsp;
+	if (fsp == NULL) {
+		return NULL;
 	}
+
+	if (fsp->deferred_close) {
+		return NULL;
+	}
+
+	req->chain_fsp = fsp;
 	return fsp;
 }
 
@@ -576,6 +585,9 @@ struct files_struct *file_fsp_smb2(struct smbd_smb2_request *smb2req,
 	struct files_struct *fsp;
 
 	if (smb2req->compat_chain_fsp != NULL) {
+		if (smb2req->compat_chain_fsp->deferred_close) {
+			return NULL;
+		}
 		return smb2req->compat_chain_fsp;
 	}
 
@@ -613,6 +625,10 @@ struct files_struct *file_fsp_smb2(struct smbd_smb2_request *smb2req,
 		return NULL;
 	}
 
+	if (fsp->deferred_close) {
+		return NULL;
+	}
+
 	smb2req->compat_chain_fsp = fsp;
 	return fsp;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list