svn commit: samba r9508 - in trunk/source: libsmb smbd

vlendec at samba.org vlendec at samba.org
Tue Aug 23 09:21:06 GMT 2005


Author: vlendec
Date: 2005-08-23 09:21:05 +0000 (Tue, 23 Aug 2005)
New Revision: 9508

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

Log:
mkdir does return NT_STATUS_NOT_A_DIRECTORY as a 32-bit error code if you try
to mkdir a:b, and it does return 267 (ERRbaddirectory) if you negotiate DOS
error codes. Tested with smbclient (no torture test, sorry...)

Is this worth transferring to 3_0 individually?

Volker

Modified:
   trunk/source/libsmb/errormap.c
   trunk/source/libsmb/smberr.c
   trunk/source/smbd/open.c
   trunk/source/smbd/reply.c


Changeset:
Modified: trunk/source/libsmb/errormap.c
===================================================================
--- trunk/source/libsmb/errormap.c	2005-08-23 08:02:24 UTC (rev 9507)
+++ trunk/source/libsmb/errormap.c	2005-08-23 09:21:05 UTC (rev 9508)
@@ -338,7 +338,7 @@
 	{ERRDOS,	203,	NT_STATUS(0xc0000100)},
 	{ERRDOS,	145,	NT_STATUS_DIRECTORY_NOT_EMPTY},
 	{ERRHRD,	ERRgeneral,	NT_STATUS_FILE_CORRUPT_ERROR},
-	{ERRDOS,	267,	NT_STATUS_NOT_A_DIRECTORY},
+	{ERRDOS,	ERRbaddirectory,	NT_STATUS_NOT_A_DIRECTORY},
 	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_LOGON_SESSION_STATE},
 	{ERRHRD,	ERRgeneral,	NT_STATUS_LOGON_SESSION_COLLISION},
 	{ERRDOS,	206,	NT_STATUS_NAME_TOO_LONG},

Modified: trunk/source/libsmb/smberr.c
===================================================================
--- trunk/source/libsmb/smberr.c	2005-08-23 08:02:24 UTC (rev 9507)
+++ trunk/source/libsmb/smberr.c	2005-08-23 09:21:05 UTC (rev 9508)
@@ -75,6 +75,7 @@
   {"ERRlogonfailure",ERRlogonfailure,"Logon failure"},
   {"ERRdiskfull",ERRdiskfull,"Disk full"},
   {"ERRgeneral",ERRgeneral, "General failure"},
+  {"ERRbaddirectory", ERRbaddirectory, "Bad directory name"},
   {"ERRunknownlevel",ERRunknownlevel, "Unknown info level"},
   {NULL,-1,NULL}};
 

Modified: trunk/source/smbd/open.c
===================================================================
--- trunk/source/smbd/open.c	2005-08-23 08:02:24 UTC (rev 9507)
+++ trunk/source/smbd/open.c	2005-08-23 09:21:05 UTC (rev 9508)
@@ -1833,9 +1833,7 @@
 
 	if (is_ntfs_stream_name(fname)) {
 		DEBUG(0,("open_directory: %s is a stream name!\n", fname ));
-		/* NB. Is the DOS error ERRbadpath or ERRbaddirectory ? */
-		set_saved_error_triple(ERRDOS, ERRbadpath,
-				       NT_STATUS_NOT_A_DIRECTORY);
+		set_saved_ntstatus(NT_STATUS_NOT_A_DIRECTORY);
 		return NULL;
 	}
 

Modified: trunk/source/smbd/reply.c
===================================================================
--- trunk/source/smbd/reply.c	2005-08-23 08:02:24 UTC (rev 9507)
+++ trunk/source/smbd/reply.c	2005-08-23 09:21:05 UTC (rev 9508)
@@ -3738,7 +3738,7 @@
 	if( is_ntfs_stream_name(directory)) {
 		DEBUG(5,("reply_mkdir: failing create on filename %s with colon in name\n", directory));
 		END_PROFILE(SMBmkdir);
-		return ERROR_FORCE_DOS(ERRDOS, ERRinvalidname);
+		return ERROR_NT(NT_STATUS_NOT_A_DIRECTORY);
 	}
 
 	status = mkdir_internal(conn, directory,bad_path);



More information about the samba-cvs mailing list