svn commit: samba r15656 - in branches/SAMBA_4_0/source: libcli/raw smb_server/smb torture/raw

metze at samba.org metze at samba.org
Wed May 17 09:52:15 GMT 2006


Author: metze
Date: 2006-05-17 09:52:14 +0000 (Wed, 17 May 2006)
New Revision: 15656

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

Log:
for NT IOCTL's we need to control the max_data field for some calls

metze
Modified:
   branches/SAMBA_4_0/source/libcli/raw/interfaces.h
   branches/SAMBA_4_0/source/libcli/raw/rawioctl.c
   branches/SAMBA_4_0/source/smb_server/smb/nttrans.c
   branches/SAMBA_4_0/source/torture/raw/ioctl.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/raw/interfaces.h
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/interfaces.h	2006-05-17 00:51:42 UTC (rev 15655)
+++ branches/SAMBA_4_0/source/libcli/raw/interfaces.h	2006-05-17 09:52:14 UTC (rev 15656)
@@ -1716,6 +1716,7 @@
 			uint32_t function;
 			BOOL fsctl;
 			uint8_t filter;
+			uint32_t max_data;
 			DATA_BLOB blob;
 		} in;
 		struct {

Modified: branches/SAMBA_4_0/source/libcli/raw/rawioctl.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/rawioctl.c	2006-05-17 00:51:42 UTC (rev 15655)
+++ branches/SAMBA_4_0/source/libcli/raw/rawioctl.c	2006-05-17 09:52:14 UTC (rev 15656)
@@ -77,7 +77,7 @@
 
 	nt.in.max_setup = 0;
 	nt.in.max_param = 0;
-	nt.in.max_data = 0;
+	nt.in.max_data = parms->ntioctl.in.max_data;
 	nt.in.setup_count = 4;
 	nt.in.setup = (uint16_t *)setup;
 	SIVAL(setup, 0, parms->ntioctl.in.function);

Modified: branches/SAMBA_4_0/source/smb_server/smb/nttrans.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/smb/nttrans.c	2006-05-17 00:51:42 UTC (rev 15655)
+++ branches/SAMBA_4_0/source/smb_server/smb/nttrans.c	2006-05-17 09:52:14 UTC (rev 15656)
@@ -324,6 +324,7 @@
 	nt->ntioctl.in.function = function;
 	nt->ntioctl.in.fsctl = fsctl;
 	nt->ntioctl.in.filter = filter;
+	nt->ntioctl.in.max_data = trans->in.max_data;
 	nt->ntioctl.in.blob = trans->in.data;
 
 	status = nttrans_setup_reply(op, trans, 0, 0, 1);

Modified: branches/SAMBA_4_0/source/torture/raw/ioctl.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/ioctl.c	2006-05-17 00:51:42 UTC (rev 15655)
+++ branches/SAMBA_4_0/source/torture/raw/ioctl.c	2006-05-17 09:52:14 UTC (rev 15656)
@@ -105,6 +105,7 @@
 	nt.ntioctl.in.file.fnum = fnum;
 	nt.ntioctl.in.fsctl = True;
 	nt.ntioctl.in.filter = 0;
+	nt.ntioctl.in.max_data = 0;
 	nt.ntioctl.in.blob = data_blob(NULL, 0);
 
 	status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);
@@ -112,10 +113,11 @@
 
 	printf("trying batch oplock\n");
 	nt.ioctl.level = RAW_IOCTL_NTIOCTL;
-	nt.ntioctl.in.function = (FSCTL_FILESYSTEM | (2<<2));
+	nt.ntioctl.in.function = FSCTL_REQUEST_BATCH_OPLOCK;
 	nt.ntioctl.in.file.fnum = fnum;
 	nt.ntioctl.in.fsctl = True;
 	nt.ntioctl.in.filter = 0;
+	nt.ntioctl.in.max_data = 0;
 	nt.ntioctl.in.blob = data_blob(NULL, 0);
 
 	status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);



More information about the samba-cvs mailing list