diff options
author | Jeremy Allison <jra@samba.org> | 2002-11-05 21:46:33 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-11-05 21:46:33 +0000 |
commit | 6c5e0cce566dd3bd9f7aee101295b80dea76310a (patch) | |
tree | e1c1ae1b8869b5b73929604e6fe8939ac8e08894 /source3/smbd | |
parent | edea9b659fc2997b4e2a488cde36af35f741aa45 (diff) | |
download | samba-6c5e0cce566dd3bd9f7aee101295b80dea76310a.tar.gz samba-6c5e0cce566dd3bd9f7aee101295b80dea76310a.tar.bz2 samba-6c5e0cce566dd3bd9f7aee101295b80dea76310a.zip |
Fix to correctly return NT_STATUS_DELETE_PENDING.
Jeremy.
(This used to be commit 075987f1db4de5e21ebf205a16a847ce0b2a926e)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/error.c | 3 | ||||
-rw-r--r-- | source3/smbd/open.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/source3/smbd/error.c b/source3/smbd/error.c index 2f993fb41e..9d0e34bf52 100644 --- a/source3/smbd/error.c +++ b/source3/smbd/error.c @@ -23,6 +23,7 @@ /* these can be set by some functions to override the error codes */ int unix_ERR_class=SMB_SUCCESS; int unix_ERR_code=0; +NTSTATUS unix_ERR_ntstatus = NT_STATUS_OK; /* From lib/error.c */ extern struct unix_error_map unix_dos_nt_errmap[]; @@ -59,8 +60,10 @@ int unix_error_packet(char *outbuf,int def_class,uint32 def_code, if (unix_ERR_class != SMB_SUCCESS) { eclass = unix_ERR_class; ecode = unix_ERR_code; + ntstatus = unix_ERR_ntstatus; unix_ERR_class = SMB_SUCCESS; unix_ERR_code = 0; + unix_ERR_ntstatus = NT_STATUS_OK; } else { while (unix_dos_nt_errmap[i].dos_class != 0) { if (unix_dos_nt_errmap[i].unix_error == errno) { diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 417a9dd039..94a705e6b6 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -401,6 +401,7 @@ static BOOL check_share_mode(connection_struct *conn, share_mode_entry *share, i fname )); unix_ERR_class = ERRDOS; unix_ERR_code = ERRnoaccess; + unix_ERR_ntstatus = NT_STATUS_DELETE_PENDING; return False; } |