vfs_fruit: checks wrong AAPL config state and so always uses readdirattr
authorRalph Boehme <slow@samba.org>
Thu, 26 Jan 2017 10:49:55 +0000 (11:49 +0100)
committerKarolin Seeger <kseeger@samba.org>
Wed, 1 Feb 2017 11:55:22 +0000 (12:55 +0100)
readdirattr should only be enabled if the client enables it via AAPL
negotitiation, not for all clients when vfs_fruit is loaded.

Unfortunately the check in fruit_readdir_attr() is

  if (!config->use_aapl) {
    return SMB_VFS_NEXT_READDIR_ATTR(handle, fname, mem_ctx, pattr_data);
  }

This uses the wrong config state "use_aapl" which is always true by
default (config option "fruit:aapl").

We must use "nego_aapl" instead which is only true if the client
really negotiated this feature.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Jan 28 01:49:11 CET 2017 on sn-devel-144

(cherry picked from commit 9a3b64a24cc21124485b423c9b70b67ff5a96f10)

source3/modules/vfs_fruit.c

index 605b3e061732e1318151358482d2945cfb0fcc23..0248f97268b4d708994fe0c569f30219e21cab46 100644 (file)
@@ -3539,7 +3539,7 @@ static NTSTATUS fruit_readdir_attr(struct vfs_handle_struct *handle,
                                struct fruit_config_data,
                                return NT_STATUS_UNSUCCESSFUL);
 
-       if (!config->use_aapl) {
+       if (!config->nego_aapl) {
                return SMB_VFS_NEXT_READDIR_ATTR(handle, fname, mem_ctx, pattr_data);
        }