vfs_fruit: use correct case FRUIT_RSRC_STREAM in readdir_attr_rfork_size()
authorRalph Boehme <slow@samba.org>
Wed, 22 May 2019 15:02:20 +0000 (17:02 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 30 May 2019 20:19:27 +0000 (20:19 +0000)
This is a genuine bug, but luckily this would only impact configs which nobody
uses:

  fruit:metadata = netatalk
  fruit:resource = stream

With the above configuration the switch in readdir_attr_rfork_size() would hit
the default case and so always report resource forks as 0 bytes in size.

All deployment that I've seen that use fruit:resource=stream also use
fruit:metadata=stream, so the switch takes FRUIT_META_STREAM case which runs the
correct code readdir_attr_rfork_size_stream().

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13968

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/modules/vfs_fruit.c

index 2bd4fbadf37af4ea6deb9b07c074682f40389c5b..c2833fa3dff43392238cdc683d6d97cf634c7857 100644 (file)
@@ -3246,7 +3246,7 @@ static uint64_t readdir_attr_rfork_size(struct vfs_handle_struct *handle,
                                                             smb_fname);
                break;
 
-       case FRUIT_META_STREAM:
+       case FRUIT_RSRC_STREAM:
                rfork_size = readdir_attr_rfork_size_stream(handle,
                                                            smb_fname);
                break;