summaryrefslogtreecommitdiff
path: root/source4/ntvfs/common/opendb_tdb.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-27 13:17:08 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-27 13:17:08 +0100
commite20f1bb6dba342fcc91d3fcf28d64c7d5fd39a38 (patch)
tree0daf321bd175d97b6813222002f1ebc9160efb42 /source4/ntvfs/common/opendb_tdb.c
parent39eb63039163cf7625edf5c0a33112a0659c3eca (diff)
parentc9009b9876e14ce9bd9e6941a8344e1f5e47dd21 (diff)
downloadsamba-e20f1bb6dba342fcc91d3fcf28d64c7d5fd39a38.tar.gz
samba-e20f1bb6dba342fcc91d3fcf28d64c7d5fd39a38.tar.bz2
samba-e20f1bb6dba342fcc91d3fcf28d64c7d5fd39a38.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake-simple
(This used to be commit a9fe1b785dd59acbfab4eb90256e7a0cb0f4da6e)
Diffstat (limited to 'source4/ntvfs/common/opendb_tdb.c')
-rw-r--r--source4/ntvfs/common/opendb_tdb.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source4/ntvfs/common/opendb_tdb.c b/source4/ntvfs/common/opendb_tdb.c
index 73c04b7c4f..fe5a0a8864 100644
--- a/source4/ntvfs/common/opendb_tdb.c
+++ b/source4/ntvfs/common/opendb_tdb.c
@@ -288,7 +288,8 @@ static NTSTATUS odb_oplock_break_send(struct odb_context *odb,
}
static bool access_attributes_only(uint32_t access_mask,
- uint32_t open_disposition)
+ uint32_t open_disposition,
+ bool break_to_none)
{
switch (open_disposition) {
case NTCREATEX_DISP_SUPERSEDE:
@@ -298,6 +299,11 @@ static bool access_attributes_only(uint32_t access_mask,
default:
break;
}
+
+ if (break_to_none) {
+ return false;
+ }
+
#define CHECK_MASK(m,g) ((m) && (((m) & ~(g))==0) && (((m) & (g)) != 0))
return CHECK_MASK(access_mask,
SEC_STD_SYNCHRONIZE |
@@ -326,7 +332,8 @@ static NTSTATUS odb_tdb_open_can_internal(struct odb_context *odb,
* but we'll not grant the oplock below
*/
attrs_only = access_attributes_only(access_mask,
- open_disposition);
+ open_disposition,
+ break_to_none);
if (attrs_only) {
break;
}