svn commit: samba r20722 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_24/source/smbd

jra at samba.org jra at samba.org
Sat Jan 13 02:13:46 GMT 2007


Author: jra
Date: 2007-01-13 02:13:45 +0000 (Sat, 13 Jan 2007)
New Revision: 20722

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

Log:
RAW-CHKPATH should now pass, build farm should
go back to normal. Sorry about that.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/filename.c
   branches/SAMBA_3_0_24/source/smbd/filename.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/filename.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/filename.c	2007-01-13 01:29:10 UTC (rev 20721)
+++ branches/SAMBA_3_0/source/smbd/filename.c	2007-01-13 02:13:45 UTC (rev 20722)
@@ -391,15 +391,24 @@
 					 * Windows applications depend on the difference between
 					 * these two errors.
 					 */
-					if (errno == ENOENT) {
+
+					/* ENOENT and ENOTDIR both map to NT_STATUS_OBJECT_PATH_NOT_FOUND
+					   in the filename walk. */
+
+					if (errno == ENOENT || errno == ENOTDIR) {
 						return NT_STATUS_OBJECT_PATH_NOT_FOUND;
 					}
 					return map_nt_error_from_unix(errno);
 				}
 	      
-				if (errno == ENOTDIR) {
-					/* Name exists but is not a directory. */
-					return map_nt_error_from_unix(ENOTDIR);
+				/* ENOENT is the only valid error here. */
+				if (errno != ENOENT) {
+					/* ENOENT and ENOTDIR both map to NT_STATUS_OBJECT_PATH_NOT_FOUND
+					   in the filename walk. */
+					if (errno == ENOTDIR) {
+						return NT_STATUS_OBJECT_PATH_NOT_FOUND;
+					}
+					return map_nt_error_from_unix(errno);
 				}
 
 				/*

Modified: branches/SAMBA_3_0_24/source/smbd/filename.c
===================================================================
--- branches/SAMBA_3_0_24/source/smbd/filename.c	2007-01-13 01:29:10 UTC (rev 20721)
+++ branches/SAMBA_3_0_24/source/smbd/filename.c	2007-01-13 02:13:45 UTC (rev 20722)
@@ -391,15 +391,24 @@
 					 * Windows applications depend on the difference between
 					 * these two errors.
 					 */
-					if (errno == ENOENT) {
+
+					/* ENOENT and ENOTDIR both map to NT_STATUS_OBJECT_PATH_NOT_FOUND
+					   in the filename walk. */
+
+					if (errno == ENOENT || errno == ENOTDIR) {
 						return NT_STATUS_OBJECT_PATH_NOT_FOUND;
 					}
 					return map_nt_error_from_unix(errno);
 				}
 	      
-				if (errno == ENOTDIR) {
-					/* Name exists but is not a directory. */
-					return map_nt_error_from_unix(ENOTDIR);
+				/* ENOENT is the only valid error here. */
+				if (errno != ENOENT) {
+					/* ENOENT and ENOTDIR both map to NT_STATUS_OBJECT_PATH_NOT_FOUND
+					   in the filename walk. */
+					if (errno == ENOTDIR) {
+						return NT_STATUS_OBJECT_PATH_NOT_FOUND;
+					}
+					return map_nt_error_from_unix(errno);
 				}
 
 				/*



More information about the samba-cvs mailing list