1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

s3: smbd: DFS: Pass uint32_t ucf_flags through into unix_convert().

This allows vendors to ensure that flags such as UCF_PREP_CREATEFILE
are always passed to their VFS modules whilst smbd is doing pathname
lookup - even before the create VFS call is done.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Mar 26 00:08:40 CET 2016 on sn-devel-144
This commit is contained in:
Jeremy Allison 2016-03-25 11:34:30 -07:00
parent 6156c825bb
commit 9377f3bce0

View File

@ -669,7 +669,7 @@ static NTSTATUS dfs_path_lookup(TALLOC_CTX *ctx,
const char *dfspath, /* Incoming complete dfs path */
const struct dfs_path *pdp, /* Parsed out
server+share+extrapath. */
bool search_flag, /* Called from a findfirst ? */
uint32_t ucf_flags,
int *consumedcntp,
char **pp_targetpath)
{
@ -691,7 +691,7 @@ static NTSTATUS dfs_path_lookup(TALLOC_CTX *ctx,
*/
status = unix_convert(ctx, conn, pdp->reqpath, &smb_fname,
search_flag ? UCF_ALWAYS_ALLOW_WCARD_LCOMP : 0);
ucf_flags);
if (!NT_STATUS_IS_OK(status)) {
if (!NT_STATUS_EQUAL(status,
@ -707,7 +707,10 @@ static NTSTATUS dfs_path_lookup(TALLOC_CTX *ctx,
if (is_msdfs_link_internal(ctx, conn, smb_fname->base_name,
pp_targetpath, NULL)) {
if (search_flag) {
/* XX_ALLOW_WCARD_XXX is called from search functions. */
if (ucf_flags &
(UCF_COND_ALLOW_WCARD_LCOMP|
UCF_ALWAYS_ALLOW_WCARD_LCOMP)) {
DEBUG(6,("dfs_path_lookup (FindFirst) No redirection "
"for dfs link %s.\n", dfspath));
status = NT_STATUS_OK;