diff options
author | Jeremy Allison <jra@samba.org> | 2010-05-21 16:56:10 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-05-21 16:56:10 -0700 |
commit | b2a7ad8c951562d1aea6663064784da0b0a98565 (patch) | |
tree | 2bd42fcd58d6efed103ad625d04075ded559181e /source3/smbd/smb2_create.c | |
parent | 6af5e7cde198ac21ed8030fd3744ab0ae7f15fd3 (diff) | |
download | samba-b2a7ad8c951562d1aea6663064784da0b0a98565.tar.gz samba-b2a7ad8c951562d1aea6663064784da0b0a98565.tar.bz2 samba-b2a7ad8c951562d1aea6663064784da0b0a98565.zip |
Make DFS work over SMB2.
Jeremy.
Diffstat (limited to 'source3/smbd/smb2_create.c')
-rw-r--r-- | source3/smbd/smb2_create.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index 31813cc82e..b4b265b9f5 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -673,11 +673,18 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx, in_create_options &= ~(0x10);/* NTCREATEX_OPTIONS_SYNC_ALERT */ in_create_options &= ~(0x20);/* NTCREATEX_OPTIONS_ASYNC_ALERT */ - /* convert '\\' into '/' */ - status = check_path_syntax(fname); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return tevent_req_post(req, ev); + /* + * For a DFS path the function parse_dfs_path() + * will do the path processing. + */ + + if (!smb1req->flags2 & FLAGS2_DFS_PATHNAMES) { + /* convert '\\' into '/' */ + status = check_path_syntax(fname); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return tevent_req_post(req, ev); + } } status = filename_convert(req, |