diff options
author | Jeremy Allison <jra@samba.org> | 2000-10-06 20:34:14 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2000-10-06 20:34:14 +0000 |
commit | 1929bcb89a8a5daf8ff9242324797e5340ec8fe9 (patch) | |
tree | 9cbdc7ad4d128aed21cf4db1a9519431c05df8fd /source3/smbd | |
parent | 1126775808f434c3df4089159512988df82cbdd5 (diff) | |
download | samba-1929bcb89a8a5daf8ff9242324797e5340ec8fe9.tar.gz samba-1929bcb89a8a5daf8ff9242324797e5340ec8fe9.tar.bz2 samba-1929bcb89a8a5daf8ff9242324797e5340ec8fe9.zip |
Fixed error return messages needed for NTTrans CreateDirectory.
This patch allows the standard W2k recursive mkdir to work against
Samba.
Jeremy.
(This used to be commit 947102784360c65d51441457bb54aa28d2b4452d)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/nttrans.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 86b85ea766..f099583e55 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -796,6 +796,10 @@ int reply_ntcreate_and_X(connection_struct *conn, restore_case_semantics(file_attributes); if(!fsp) { + if((errno == ENOENT) && bad_path) { + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadpath; + } return(UNIXERROR(ERRDOS,ERRnoaccess)); } } else { @@ -856,6 +860,10 @@ int reply_ntcreate_and_X(connection_struct *conn, if(!fsp) { restore_case_semantics(file_attributes); + if((errno == ENOENT) && bad_path) { + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadpath; + } return(UNIXERROR(ERRDOS,ERRnoaccess)); } #ifdef EROFS @@ -1220,6 +1228,10 @@ static int call_nt_transact_create(connection_struct *conn, if(!fsp) { restore_case_semantics(file_attributes); + if((errno == ENOENT) && bad_path) { + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadpath; + } return(UNIXERROR(ERRDOS,ERRnoaccess)); } @@ -1258,6 +1270,10 @@ static int call_nt_transact_create(connection_struct *conn, if(!fsp) { restore_case_semantics(file_attributes); + if((errno == ENOENT) && bad_path) { + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadpath; + } return(UNIXERROR(ERRDOS,ERRnoaccess)); } #ifdef EROFS |