summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_fruit.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules/vfs_fruit.c')
-rw-r--r--source3/modules/vfs_fruit.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index 07221d37f25..c0202afbf68 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -3619,6 +3619,21 @@ static int fruit_stat_rsrc_netatalk(vfs_handle_struct *handle,
return 0;
}
+static int fruit_stat_rsrc_stream(vfs_handle_struct *handle,
+ struct smb_filename *smb_fname,
+ bool follow_links)
+{
+ int ret;
+
+ if (follow_links) {
+ ret = SMB_VFS_NEXT_STAT(handle, smb_fname);
+ } else {
+ ret = SMB_VFS_NEXT_LSTAT(handle, smb_fname);
+ }
+
+ return ret;
+}
+
static int fruit_stat_rsrc(vfs_handle_struct *handle,
struct smb_filename *smb_fname,
bool follow_links)
@@ -3633,6 +3648,9 @@ static int fruit_stat_rsrc(vfs_handle_struct *handle,
switch (config->rsrc) {
case FRUIT_RSRC_STREAM:
+ ret = fruit_stat_rsrc_stream(handle, smb_fname, follow_links);
+ break;
+
case FRUIT_RSRC_XATTR:
case FRUIT_RSRC_ADFILE:
ret = fruit_stat_rsrc_netatalk(handle, smb_fname, follow_links);