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

vlendec at samba.org vlendec at samba.org
Sun Jan 7 10:29:12 GMT 2007


Author: vlendec
Date: 2007-01-07 10:29:12 +0000 (Sun, 07 Jan 2007)
New Revision: 20595

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

Log:
W2k and XP don't always show the top directory as hidden, w2k3 does. I think
Samba should follow w2k3 in this respect.

Volker

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


Changeset:
Modified: branches/SAMBA_4_0/source/torture/raw/samba3misc.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/samba3misc.c	2007-01-07 04:53:49 UTC (rev 20594)
+++ branches/SAMBA_4_0/source/torture/raw/samba3misc.c	2007-01-07 10:29:12 UTC (rev 20595)
@@ -229,7 +229,9 @@
 	BOOL ret = True;
 	TALLOC_CTX *mem_ctx;
 	BOOL nt_status_support;
+	uint16_t attr;
 
+
 	if (!(mem_ctx = talloc_init("torture_samba3_badpath"))) {
 		d_printf("talloc_init failed\n");
 		return False;
@@ -385,9 +387,14 @@
 	status = smbcli_getatr(cli_dos->tree, "<\\bla", NULL, NULL, NULL);
 	CHECK_STATUS(status, NT_STATUS_DOS(ERRDOS, ERRinvalidname));
 
-	{
-		uint16_t attr;
+	if (lp_parm_bool(-1, "torture", "w2k3", False) ||
+	    lp_parm_bool(-1, "torture", "samba3", False)) {
 
+		/*
+		 * XP and w2k don't show this behaviour, but I think
+		 * Samba3 should follow W2k3
+		 */
+
 		status = smbcli_getatr(cli_nt->tree, "", &attr, NULL, NULL);
 		CHECK_STATUS(status, NT_STATUS_OK);
 		if (attr != (FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_DIRECTORY)) {
@@ -397,23 +404,22 @@
 				 |FILE_ATTRIBUTE_DIRECTORY);
 			ret = False;
 		}
+	}
 
-		status = smbcli_setatr(cli_nt->tree, "",
-				       FILE_ATTRIBUTE_DIRECTORY, -1);
-		CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
-		status = smbcli_setatr(cli_dos->tree, "",
-				       FILE_ATTRIBUTE_DIRECTORY, -1);
-		CHECK_STATUS(status, NT_STATUS_DOS(ERRDOS, ERRnoaccess));
+	status = smbcli_setatr(cli_nt->tree, "",
+			       FILE_ATTRIBUTE_DIRECTORY, -1);
+	CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
+	status = smbcli_setatr(cli_dos->tree, "",
+			       FILE_ATTRIBUTE_DIRECTORY, -1);
+	CHECK_STATUS(status, NT_STATUS_DOS(ERRDOS, ERRnoaccess));
+	
+	status = smbcli_setatr(cli_nt->tree, ".",
+			       FILE_ATTRIBUTE_DIRECTORY, -1);
+	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
+	status = smbcli_setatr(cli_dos->tree, ".",
+			       FILE_ATTRIBUTE_DIRECTORY, -1);
+	CHECK_STATUS(status, NT_STATUS_DOS(ERRDOS, ERRinvalidname));
 
-		status = smbcli_setatr(cli_nt->tree, ".",
-				       FILE_ATTRIBUTE_DIRECTORY, -1);
-		CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
-		status = smbcli_setatr(cli_dos->tree, ".",
-				       FILE_ATTRIBUTE_DIRECTORY, -1);
-		CHECK_STATUS(status, NT_STATUS_DOS(ERRDOS, ERRinvalidname));
-	}
-		
-
 	/* Try the same set with openX. */
 
 	status = raw_smbcli_open(cli_nt->tree, "..", O_RDONLY, DENY_NONE, NULL);



More information about the samba-cvs mailing list