[SCM] Samba Shared Repository - branch v3-2-test updated -
release-3-2-0pre2-3276-g73039cd
Jeremy Allison
jra at samba.org
Sat Dec 13 21:15:59 GMT 2008
The branch, v3-2-test has been updated
via 73039cd49521e724a8351a353e9ae1d342be1352 (commit)
from 3d2fe303830c0c1e425f6279a1625a56a27abd07 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 73039cd49521e724a8351a353e9ae1d342be1352
Author: Volker Lendecke <vl at sernet.de>
Date: Sat Dec 13 13:14:58 2008 -0800
Fix error code when smbclient puts a file over an existing directory
Windows returns NT_STATUS_FILE_IS_A_DIRECTORY, as does Samba 3.0. 3.2 and
following returned NT_STATUS_INVALID_PARAMETER which is wrong.
Before I converted reply_open_and_X to create_file() we called
open_file_ntcreate directly. Passing through open&X for a filename that exists
as a directory ends up in open_directory after having tried open_file_ntcreate.
Some check in there returns NT_STATUS_INVALID_PARAMETER. With this additional
FILE_NON_DIRECTORY_FILE flag we get the correct error message back from
create_file_unixpath before trying open_directory().
Survives make test, but as this also touches the other open variants I would
like others to review this.
Volker
-----------------------------------------------------------------------
Summary of changes:
source/smbd/open.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/smbd/open.c b/source/smbd/open.c
index dde273d..33edea1 100644
--- a/source/smbd/open.c
+++ b/source/smbd/open.c
@@ -972,7 +972,7 @@ bool map_open_params_to_ntcreate(const char *fname, int deny_mode, int open_func
uint32 access_mask;
uint32 share_mode;
uint32 create_disposition;
- uint32 create_options = 0;
+ uint32 create_options = FILE_NON_DIRECTORY_FILE;
DEBUG(10,("map_open_params_to_ntcreate: fname = %s, deny_mode = 0x%x, "
"open_func = 0x%x\n",
--
Samba Shared Repository
More information about the samba-cvs
mailing list