svn commit: samba r2784 - in branches/SAMBA_4_0/source/smb_server: .

tridge at samba.org tridge at samba.org
Sat Oct 2 12:16:46 GMT 2004


Author: tridge
Date: 2004-10-02 12:16:46 +0000 (Sat, 02 Oct 2004)
New Revision: 2784

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/smb_server&rev=2784&nolog=1

Log:
- fixed alignment of ascii directory listings

- fixed minimum parameter size for ascii qpathinfo call


Modified:
   branches/SAMBA_4_0/source/smb_server/trans2.c


Changeset:
Modified: branches/SAMBA_4_0/source/smb_server/trans2.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/trans2.c	2004-10-02 12:14:23 UTC (rev 2783)
+++ branches/SAMBA_4_0/source/smb_server/trans2.c	2004-10-02 12:16:46 UTC (rev 2784)
@@ -192,7 +192,19 @@
 	trans2_grow_data(req, trans, offset + ret);
 }
 
+/*
+  align the end of the data section of a trans reply on an even boundary
+*/
+static void trans2_align_data(struct smbsrv_request *req, struct smb_trans2 *trans)
+{
+	if ((trans->out.data.length & 1) == 0) {
+		return;
+	}
+	trans2_grow_data(req, trans, trans->out.data.length+1);
+	SCVAL(trans->out.data.data, trans->out.data.length-1, 0);
+}
 
+
 /*
   trans2 qfsinfo implementation
 */
@@ -623,7 +635,7 @@
 	uint16_t level;
 
 	/* make sure we got enough parameters */
-	if (trans->in.params.length < 8) {
+	if (trans->in.params.length < 2) {
 		return NT_STATUS_FOOBAR;
 	}
 
@@ -997,6 +1009,7 @@
 					24, STR_UNICODE | STR_LEN8BIT);
 		trans2_append_data_string(req, trans, &file->both_directory_info.name, 
 					  ofs + 60, STR_TERMINATE_ASCII);
+		trans2_align_data(req, trans);
 		data = trans->out.data.data + ofs;
 		SIVAL(data,          0, trans->out.data.length - ofs);
 		break;



More information about the samba-cvs mailing list