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" <[EMAIL PROTECTED]> 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.

Reply via email to