summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-08-19 16:34:50 +0200
committerStefan Metzmacher <metze@samba.org>2008-08-20 15:50:26 +0200
commiteb8dd6a81181c3dab9cbe6b934ceb4f3ba1ba2af (patch)
tree4a3fa4fb1e04f8cebef9c72428aa7d190fa8be57 /source3/smbd/open.c
parentb02746346112c94a7f20ac1cebc43b7aee6976e3 (diff)
downloadsamba-eb8dd6a81181c3dab9cbe6b934ceb4f3ba1ba2af.tar.gz
samba-eb8dd6a81181c3dab9cbe6b934ceb4f3ba1ba2af.tar.bz2
samba-eb8dd6a81181c3dab9cbe6b934ceb4f3ba1ba2af.zip
smbd: fix the handling of create_options to pass RAW-OPEN
Some of the bits generate INVALID_PARAMETER and some bits are ignored when they come from a client, that's why we need to use bits from the ignored range for our internal usage. metze (This used to be commit 7b4c8a4e39f310eb450918fa841b0ea1b4af19f7)
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r--source3/smbd/open.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 03efd09f06..8b32907a4b 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2560,6 +2560,11 @@ NTSTATUS create_file_unixpath(connection_struct *conn,
goto fail;
}
+ if (create_options & NTCREATEX_OPTIONS_INVALID_PARAM_MASK) {
+ status = NT_STATUS_INVALID_PARAMETER;
+ goto fail;
+ }
+
if (req == NULL) {
oplock_request |= INTERNAL_OPEN_ONLY;
}