From f4ad2376265c827868d2fd73ed4e9442de1e62d6 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 9 Oct 2017 12:06:29 +0200 Subject: [PATCH] s3:smbd: handle IO_REPARSE_TAG_DFS in SMB_FIND_FILE_FULL_DIRECTORY_INFO This completes commit 74829fecd7a4e806ee441cd75141bede2eefef1a, which missed SMB_FIND_FILE_FULL_DIRECTORY_INFO BUG: https://bugzilla.samba.org/show_bug.cgi?id=10097 Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme Reviewed-by: Jeremy Allison (cherry picked from commit 1d9348575914891dbb5638bc9b8d51eda98fe554) --- source3/smbd/trans2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 0ec1c5f2a6a6..5d1ad550e8a3 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2125,12 +2125,14 @@ static NTSTATUS smbd_marshall_dir_entry(TALLOC_CTX *ctx, SOFF_T(p,0,allocation_size); p += 8; SIVAL(p,0,mode); p += 4; q = p; p += 4; /* q is placeholder for name length. */ - { + if (mode & FILE_ATTRIBUTE_REPARSE_POINT) { + SIVAL(p, 0, IO_REPARSE_TAG_DFS); + } else { unsigned int ea_size = estimate_ea_size(conn, NULL, smb_fname); SIVAL(p,0,ea_size); /* Extended attributes */ - p +=4; } + p +=4; status = srvstr_push(base_data, flags2, p, fname, PTR_DIFF(end_data, p), STR_TERMINATE_ASCII, &len); -- 2.17.1