From 5b1642029464202c28eebd05e3d737c93188ce5c Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Wed, 25 Mar 2015 15:09:02 +0100 Subject: [PATCH 1/2] vfs_fruit: add option "nfs_aces" that controls the NFS ACEs stuff Bug: https://bugzilla.samba.org/show_bug.cgi?id=11213 Signed-off-by: Ralph Boehme --- docs-xml/manpages/vfs_fruit.8.xml | 9 +++++++++ source3/modules/vfs_fruit.c | 9 +++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs-xml/manpages/vfs_fruit.8.xml b/docs-xml/manpages/vfs_fruit.8.xml index a9e2e6d..4e296a4 100644 --- a/docs-xml/manpages/vfs_fruit.8.xml +++ b/docs-xml/manpages/vfs_fruit.8.xml @@ -188,6 +188,15 @@ + + fruit:nfs_aces = yes | no + + Whether support for querying and modifying the + UNIX mode of directory entries via NFS ACEs is enabled, + default yes. + + + diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c index 8a5588d..2d56d7a 100644 --- a/source3/modules/vfs_fruit.c +++ b/source3/modules/vfs_fruit.c @@ -1338,6 +1338,10 @@ static int init_fruit_config(vfs_handle_struct *handle) config->use_aapl = true; } + if (lp_parm_bool(-1, FRUIT_PARAM_TYPE_NAME, "nfs_aces", true)) { + config->unix_info_enabled = true; + } + if (lp_parm_bool(SNUM(handle->conn), "readdir_attr", "aapl_rsize", true)) { config->readdir_attr_rsize = true; @@ -1831,8 +1835,9 @@ static NTSTATUS check_aapl(vfs_handle_struct *handle, * The client doesn't set the flag, so we can't check * for it and just set it unconditionally */ - server_caps |= SMB2_CRTCTX_AAPL_SUPPORTS_NFS_ACE; - config->unix_info_enabled = true; + if (config->unix_info_enabled) { + server_caps |= SMB2_CRTCTX_AAPL_SUPPORTS_NFS_ACE; + } SBVAL(p, 0, server_caps); ok = data_blob_append(req, &blob, p, 8); -- 2.1.0 From 8a215b42c577e16daed91ef7ee39ac723fe8e9f9 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Wed, 25 Mar 2015 12:56:07 +0100 Subject: [PATCH 2/2] vfs_fruit: comment fix: the options are documented Signed-off-by: Ralph Boehme --- source3/modules/vfs_fruit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c index 2d56d7a..8f582c6 100644 --- a/source3/modules/vfs_fruit.c +++ b/source3/modules/vfs_fruit.c @@ -128,7 +128,7 @@ struct fruit_config_data { bool unix_info_enabled; /* - * Additional undocumented options, all enabled by default, + * Additional options, all enabled by default, * possibly useful for analyzing performance. The associated * operations with each of them may be expensive, so having * the chance to disable them individually gives a chance -- 2.1.0