svn commit: samba r24141 - in branches/SAMBA_3_2/source/smbd: .

vlendec at samba.org vlendec at samba.org
Thu Aug 2 19:50:57 GMT 2007


Author: vlendec
Date: 2007-08-02 19:50:56 +0000 (Thu, 02 Aug 2007)
New Revision: 24141

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24141

Log:
Add check_fsp as a replacement for CHECK_FSP
Modified:
   branches/SAMBA_3_2/source/smbd/reply.c


Changeset:
Modified: branches/SAMBA_3_2/source/smbd/reply.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/reply.c	2007-08-02 19:48:44 UTC (rev 24140)
+++ branches/SAMBA_3_2/source/smbd/reply.c	2007-08-02 19:50:56 UTC (rev 24141)
@@ -285,6 +285,33 @@
 }
 
 /****************************************************************************
+ Check if we have a correct fsp pointing to a file. Replacement for the
+ CHECK_FSP macro.
+****************************************************************************/
+BOOL check_fsp(connection_struct *conn, struct smb_request *req,
+	       files_struct *fsp, struct current_user *user)
+{
+	if (!(fsp) || !(conn)) {
+		reply_nterror(req, NT_STATUS_INVALID_HANDLE);
+		return False;
+	}
+	if (((conn) != (fsp)->conn) || current_user.vuid != (fsp)->vuid) {
+		reply_nterror(req, NT_STATUS_INVALID_HANDLE);
+		return False;
+	}
+	if ((fsp)->is_directory) {
+		reply_nterror(req, NT_STATUS_INVALID_DEVICE_REQUEST);
+		return False;
+	}
+	if ((fsp)->fh->fd == -1) {
+		reply_nterror(req, NT_STATUS_ACCESS_DENIED);
+		return False;
+	}
+	(fsp)->num_smb_operations++;
+	return True;
+}
+
+/****************************************************************************
  Reply to a (netbios-level) special message.
 ****************************************************************************/
 



More information about the samba-cvs mailing list