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

vlendec at samba.org vlendec at samba.org
Sat Aug 11 10:26:41 GMT 2007


Author: vlendec
Date: 2007-08-11 10:26:40 +0000 (Sat, 11 Aug 2007)
New Revision: 24322

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

Log:
Wrap reply_read_and_X in reply_prep_legacy
Modified:
   branches/SAMBA_3_2/source/smbd/process.c
   branches/SAMBA_3_2/source/smbd/reply.c


Changeset:
Modified: branches/SAMBA_3_2/source/smbd/process.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/process.c	2007-08-11 09:53:42 UTC (rev 24321)
+++ branches/SAMBA_3_2/source/smbd/process.c	2007-08-11 10:26:40 UTC (rev 24322)
@@ -736,7 +736,7 @@
 /* 0x2b */ { "SMBecho",NULL,reply_echo,0},
 /* 0x2c */ { "SMBwriteclose",reply_writeclose,NULL,AS_USER},
 /* 0x2d */ { "SMBopenX",NULL,reply_open_and_X,AS_USER | CAN_IPC },
-/* 0x2e */ { "SMBreadX",reply_read_and_X,NULL,AS_USER | CAN_IPC },
+/* 0x2e */ { "SMBreadX",NULL,reply_read_and_X,AS_USER | CAN_IPC },
 /* 0x2f */ { "SMBwriteX",NULL,reply_write_and_X,AS_USER | CAN_IPC },
 /* 0x30 */ { NULL, NULL, NULL, 0 },
 /* 0x31 */ { NULL, NULL, NULL, 0 },

Modified: branches/SAMBA_3_2/source/smbd/reply.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/reply.c	2007-08-11 09:53:42 UTC (rev 24321)
+++ branches/SAMBA_3_2/source/smbd/reply.c	2007-08-11 10:26:40 UTC (rev 24322)
@@ -2858,7 +2858,9 @@
  Reply to a read and X.
 ****************************************************************************/
 
-int reply_read_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize)
+static int reply_read_and_X_old(connection_struct *conn,
+				char *inbuf, char *outbuf,
+				int length,int bufsize)
 {
 	files_struct *fsp;
 	SMB_OFF_T startpos;
@@ -2956,6 +2958,31 @@
 	return nread;
 }
 
+void reply_read_and_X(connection_struct *conn, struct smb_request *req)
+{
+	char *inbuf, *outbuf;
+	int length, bufsize;
+	int outsize;
+
+	if (!reply_prep_legacy(req, &inbuf, &outbuf, &length, &bufsize)) {
+		reply_nterror(req, NT_STATUS_NO_MEMORY);
+		return;
+	}
+
+	outsize = reply_read_and_X_old(conn, inbuf, outbuf, length, bufsize);
+
+	DEBUG(10, ("outsize = %d\n", outsize));
+
+	/*
+	 * Can't use reply_post_legacy here, setup_readX_header has set up its
+	 * size itself already.
+	 */
+
+	if (outsize == -1) {
+		TALLOC_FREE(req->outbuf);
+	}
+}
+
 /****************************************************************************
  Reply to a writebraw (core+ or LANMAN1.0 protocol).
 ****************************************************************************/



More information about the samba-cvs mailing list