summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2016-12-02 11:30:06 +0100
committerUri Simchoni <uri@samba.org>2017-03-02 00:32:21 +0100
commitcbf87b46c2ad7d0795616c517d3e39f24d827ef4 (patch)
treec77577d27bbf31f5214d26f359166662da714f8d
parent5037816d28df6f1eed46abf910b0cd4c1a40ec77 (diff)
downloadsamba-cbf87b46c2ad7d0795616c517d3e39f24d827ef4.tar.gz
vfs_fruit: add fruit_stat_rsrc_stream() implementation
This fixes fruit_stat_rsrc for the fruit:resource=stream case. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12427 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Uri Simchoni <uri@samba.org>
-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);