svn commit: samba r10132 - in branches/SAMBA_4_0/source/torture/raw: .

jra at samba.org jra at samba.org
Fri Sep 9 21:45:36 GMT 2005


Author: jra
Date: 2005-09-09 21:45:36 +0000 (Fri, 09 Sep 2005)
New Revision: 10132

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

Log:
Confirm that openX with OPEN_EXEC implies read only.
Jeremy.

Modified:
   branches/SAMBA_4_0/source/torture/raw/open.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/raw/open.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/open.c	2005-09-09 20:13:15 UTC (rev 10131)
+++ branches/SAMBA_4_0/source/torture/raw/open.c	2005-09-09 21:45:36 UTC (rev 10132)
@@ -265,6 +265,7 @@
 	union smb_open io;
 	union smb_fileinfo finfo;
 	const char *fname = BASEDIR "\\torture_openx.txt";
+	const char *fname_exe = BASEDIR "\\torture_openx.exe";
 	NTSTATUS status;
 	int fnum = -1, fnum2;
 	BOOL ret = True;
@@ -444,8 +445,33 @@
 	status = smb_raw_open(cli->tree, mem_ctx, &io);
 	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
 
+	/* Check the mapping for open exec. */
+
+	/* First create an .exe file. */
+	smbcli_unlink(cli->tree, fname_exe);
+	fnum = create_complex_file(cli, mem_ctx, fname_exe);
+	smbcli_close(cli->tree, fnum);
+
+	io.openx.level = RAW_OPEN_OPENX;
+	io.openx.in.fname = fname_exe;
+	io.openx.in.flags = OPENX_FLAGS_ADDITIONAL_INFO;
+	io.openx.in.open_mode = OPENX_MODE_ACCESS_EXEC | OPENX_MODE_DENY_NONE;
+	io.openx.in.search_attrs = 0;
+	io.openx.in.file_attrs = 0;
+	io.openx.in.write_time = 0;
+	io.openx.in.size = 0;
+	io.openx.in.timeout = 0;
+	status = smb_raw_open(cli->tree, mem_ctx, &io);
+	CHECK_STATUS(status, NT_STATUS_OK);
+
+	/* Can we read and write ? */
+	CHECK_RDWR(io.openx.out.fnum, RDWR_RDONLY);
+	smbcli_close(cli->tree, io.openx.out.fnum);
+	smbcli_unlink(cli->tree, fname);
+
 done:
 	smbcli_close(cli->tree, fnum);
+	smbcli_unlink(cli->tree, fname_exe);
 	smbcli_unlink(cli->tree, fname);
 
 	return ret;



More information about the samba-cvs mailing list