svn commit: samba r2394 - in trunk/source/smbd: .

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


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

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

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

Modified:
   trunk/source/smbd/nttrans.c


Changeset:
Modified: trunk/source/smbd/nttrans.c
===================================================================
--- trunk/source/smbd/nttrans.c	2004-09-17 19:53:17 UTC (rev 2393)
+++ trunk/source/smbd/nttrans.c	2004-09-17 19:58:22 UTC (rev 2394)
@@ -763,17 +763,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