summaryrefslogtreecommitdiff
path: root/source3/smbd/dosmode.c
diff options
context:
space:
mode:
authorRichard Sharpe <realrichardsharpe@gmail.com>2013-08-19 13:14:55 -0700
committerKarolin Seeger <kseeger@samba.org>2013-08-20 10:39:42 +0200
commit3dd2f645a054b47d709a6b6f6968f86b9e916d49 (patch)
tree5006f75570ae087344f4d48ea641b5585b900de9 /source3/smbd/dosmode.c
parentdb77fc0184eea3ee1a73111b84a2e1ad976ad612 (diff)
downloadsamba-3dd2f645a054b47d709a6b6f6968f86b9e916d49.tar.gz
Fix bug #10097 - MacOSX 10.9 will not follow path-based DFS referrals handed out by Samba.
Windows overloads the EA Length field in the DIRECTORY INFO leves of FIND FIRST/FIND NEXT. This field indicates either the REPARSE_TAG if the file/folder has a reparse proint or the EA Length if it has EAs, and is the fundamental reason you cannot have both on a file or folder. Signed-off-by: Richard Sharpe <rsharpe@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd/dosmode.c')
-rw-r--r--source3/smbd/dosmode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c
index 823d44d0aaf..326e995be77 100644
--- a/source3/smbd/dosmode.c
+++ b/source3/smbd/dosmode.c
@@ -484,6 +484,11 @@ uint32 dos_mode_msdfs(connection_struct *conn,
result = filter_mode_by_protocol(result);
+ /*
+ * Add in that it is a reparse point
+ */
+ result |= FILE_ATTRIBUTE_REPARSE_POINT;
+
DEBUG(8,("dos_mode_msdfs returning "));
if (result & FILE_ATTRIBUTE_HIDDEN) DEBUG(8, ("h"));