svn commit: samba r6297 - in branches/SAMBA_3_0/source/smbd: .

jra at samba.org jra at samba.org
Mon Apr 11 20:52:03 GMT 2005


Author: jra
Date: 2005-04-11 20:52:02 +0000 (Mon, 11 Apr 2005)
New Revision: 6297

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

Log:
Fix bug in our trans2 secondary processing. We need to pass in the
trans2 call info from the primary trans2 packet as it isn't present
in secondary transs packets. We only need to do this for functions that
satisfy more than one case in the switch statement. Found by Marcel M?\195?\188ller <mueller at maazl.de>.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/trans2.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/trans2.c	2005-04-11 19:41:47 UTC (rev 6296)
+++ branches/SAMBA_3_0/source/smbd/trans2.c	2005-04-11 20:52:02 UTC (rev 6297)
@@ -2660,12 +2660,12 @@
 ****************************************************************************/
 
 static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char *outbuf, int length, int bufsize,
+					unsigned int tran_call,
 					char **pparams, int total_params, char **ppdata, int total_data,
 					unsigned int max_data_bytes)
 {
 	char *params = *pparams;
 	char *pdata = *ppdata;
-	uint16 tran_call = SVAL(inbuf, smb_setup0);
 	uint16 info_level;
 	int mode=0;
 	SMB_OFF_T file_size=0;
@@ -3557,12 +3557,12 @@
 ****************************************************************************/
 
 static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char *outbuf, int length, int bufsize,
+					unsigned int tran_call,
 					char **pparams, int total_params, char **ppdata, int total_data,
 					unsigned int max_data_bytes)
 {
 	char *params = *pparams;
 	char *pdata = *ppdata;
-	uint16 tran_call = SVAL(inbuf, smb_setup0);
 	uint16 info_level;
 	int dosmode=0;
 	SMB_OFF_T size=0;
@@ -5007,14 +5007,14 @@
 	case TRANSACT2_QPATHINFO:
 	case TRANSACT2_QFILEINFO:
 		START_PROFILE_NESTED(Trans2_qpathinfo);
-		outsize = call_trans2qfilepathinfo(conn, inbuf, outbuf, length, bufsize, 
+		outsize = call_trans2qfilepathinfo(conn, inbuf, outbuf, length, bufsize, tran_call,
 					  &params, total_params, &data, total_data, max_data_bytes);
 		END_PROFILE_NESTED(Trans2_qpathinfo);
 		break;
 	case TRANSACT2_SETPATHINFO:
 	case TRANSACT2_SETFILEINFO:
 		START_PROFILE_NESTED(Trans2_setpathinfo);
-		outsize = call_trans2setfilepathinfo(conn, inbuf, outbuf, length, bufsize, 
+		outsize = call_trans2setfilepathinfo(conn, inbuf, outbuf, length, bufsize, tran_call,
 					  &params, total_params, &data, total_data, max_data_bytes);
 		END_PROFILE_NESTED(Trans2_setpathinfo);
 		break;



More information about the samba-cvs mailing list