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

jra at samba.org jra at samba.org
Fri Sep 17 19:58:27 GMT 2004


Author: jra
Date: 2004-09-17 19:58:27 +0000 (Fri, 17 Sep 2004)
New Revision: 2395

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_3_0/source/smbd&rev=2395&nolog=1

Log:
Patch from "Stefan (metze) Metzmacher" <metze at samba.org> to fix
opening of quota file.
Jeremy.

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


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/nttrans.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/nttrans.c	2004-09-17 19:58:22 UTC (rev 2394)
+++ branches/SAMBA_3_0/source/smbd/nttrans.c	2004-09-17 19:58:27 UTC (rev 2395)
@@ -762,17 +762,22 @@
 	set_posix_case_semantics(conn, file_attributes);
 		
 	unix_convert(fname,conn,0,&bad_path,&sbuf);
-	if (bad_path) {
-		restore_case_semantics(conn, file_attributes);
-		END_PROFILE(SMBntcreateX);
-		return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND);
+
+	/* FAKE_FILE is a special case */
+	if (fake_file_type == FAKE_FILE_TYPE_NONE) {
+		/* Normal file. */
+		if (bad_path) {
+			restore_case_semantics(conn, file_attributes);
+			END_PROFILE(SMBntcreateX);
+			return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND);
+		}
+		/* All file access must go through check_name() */
+		if (!check_name(fname,conn)) {
+			restore_case_semantics(conn, file_attributes);
+			END_PROFILE(SMBntcreateX);
+			return set_bad_path_error(errno, bad_path, outbuf, ERRDOS,ERRbadpath);
+		}
 	}
-	/* All file access must go through check_name() */
-	if (!check_name(fname,conn)) {
-		restore_case_semantics(conn, file_attributes);
-		END_PROFILE(SMBntcreateX);
-		return set_bad_path_error(errno, bad_path, outbuf, ERRDOS,ERRbadpath);
-	}
 
 	/* 
 	 * If it's a request for a directory open, deal with it separately.



More information about the samba-cvs mailing list