parent_dirname_compatible_open perhaps doing incorrect test or returning incorrect result
Richard Sharpe
realrichardsharpe at gmail.com
Thu Nov 15 12:06:52 MST 2012
Hi folks,
in source3/smbd/reply.c:parent_dirname_compatible_open, which is
called from rename_internals_fsp, we see the following code in
V3-6-test and master:
id = vfs_file_id_from_sbuf(conn, &smb_fname_parent.st);
for (fsp = file_find_di_first(conn->sconn, id); fsp;
fsp = file_find_di_next(fsp)) {
if (fsp->access_mask & DELETE_ACCESS) {
DEBUG(10, ("sharing viol on %s: access: %0X\n",
smb_fname_str_dbg(fsp->fsp_name),
fsp->access_mask));
return NT_STATUS_SHARING_VIOLATION;
}
}
return NT_STATUS_OK;
This code is confusing and is seemingly causing the smb2.streams
rename subtest to fail:
failure: rename [
(../source4/torture/smb2/streams.c:1224) RENAME_INFORMATION -
NT_STATUS_SHARING_VIOLATION (should be NT_STATUS_OK)
]
It looks like it should require DELETE_ACCESS, but that is already
tested elsewhere.
Perhaps it should be testing that SHARE_DELETE is available?
Maybe this is something Jeremy is already working on.
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)
More information about the samba-technical
mailing list