]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-windows-mkdir-root-exists-20051021
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Oct 2005 01:32:52 +0000 (01:32 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Oct 2005 01:32:52 +0000 (01:32 +0000)
If a request is received to create the root directory of a device,
return CM_ERROR_EXISTS instead of CM_ERROR_NOTFOUND for the nul-string
file name.

(cherry picked from commit 47cc7643e1b04bacd858a3893accab8c377b34ac)

src/WINNT/afsd/smb3.c

index 3e91c6fdf61ea7a2c578887cf55e6569d6cdb7ad..2154cbadbf6cb2c9f711d32baec3a53d661bdeea 100644 (file)
@@ -5804,6 +5804,13 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
                   osi_LogSaveString(smb_logp, treeStartp));
         openAction = 2;                /* created directory */
 
+       /* if the request is to create the root directory 
+        * it will appear as a directory name of the nul-string
+        * and a code of CM_ERROR_NOSUCHFILE
+        */
+       if ( !*treeStartp && code == CM_ERROR_NOSUCHFILE)
+           code = CM_ERROR_EXISTS;
+
         setAttr.mask = CM_ATTRMASK_CLIENTMODTIME;
         setAttr.clientModTime = time(NULL);