From 47cc7643e1b04bacd858a3893accab8c377b34ac Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sun, 23 Oct 2005 01:31:28 +0000 Subject: [PATCH] windows-mkdir-root-exists-20051021 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. --- src/WINNT/afsd/smb3.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 3e91c6fdf6..2154cbadbf 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -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);