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);