diff options
Diffstat (limited to 'source3/include/msdfs.h')
-rw-r--r-- | source3/include/msdfs.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source3/include/msdfs.h b/source3/include/msdfs.h index a856f5d1ab..80a0c3a4f1 100644 --- a/source3/include/msdfs.h +++ b/source3/include/msdfs.h @@ -68,14 +68,21 @@ struct dfs_path #define RESOLVE_DFSPATH(name, conn, inbuf, outbuf) \ { if ((SVAL(inbuf,smb_flg2) & FLAGS2_DFS_PATHNAMES) && \ lp_host_msdfs() && lp_msdfs_root(SNUM(conn)) && \ - dfs_redirect(name,conn,False)) \ + dfs_redirect(name, conn, False, False)) \ return ERROR_BOTH(NT_STATUS_PATH_NOT_COVERED, \ ERRSRV, ERRbadpath);; } -#define RESOLVE_DFSPATH_WCARD(name, conn, inbuf, outbuf) \ +#define RESOLVE_FINDFIRST_DFSPATH(name, conn, inbuf, outbuf) \ { if ((SVAL(inbuf,smb_flg2) & FLAGS2_DFS_PATHNAMES) && \ lp_host_msdfs() && lp_msdfs_root(SNUM(conn)) && \ - dfs_redirect(name,conn,True)) \ + dfs_redirect(name, conn, True, True)) \ + return ERROR_BOTH(NT_STATUS_PATH_NOT_COVERED, \ + ERRSRV, ERRbadpath);; } + +#define RESOLVE_DFSPATH_WCARD(name, conn, inbuf, outbuf) \ +{ if ((SVAL(inbuf,smb_flg2) & FLAGS2_DFS_PATHNAMES) && \ + lp_host_msdfs() && lp_msdfs_root(SNUM(conn)) && \ + dfs_redirect(name,conn, False, True)) \ return ERROR_BOTH(NT_STATUS_PATH_NOT_COVERED, \ ERRSRV, ERRbadpath);; } |