[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Fri Jun 15 12:25:04 MDT 2012
The branch, master has been updated
via 6440720 selftest/flapping: mark samba4.nss.test using winbind(s3dc) as flakey
via 917612a docs-xml: vfs_gpfs: add comment "per share option"
via 3eba94c docs-xml: vfs_gpfs: fix typo
via 54b6d29 docs-xml: add gpfs:acl option to vfs_gpfs man page
via 289255c s3:vfs_gpfs: add "gpfs:acl" option
via 442cb66 dbwrap: Remove an unnecessary ZERO_STRUCT
from 3c94ba5 s3-winbindd: fix the build of idmap_ad modules.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 6440720de3123c17baa99b31a3a72f5dba938873
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Jun 15 18:30:43 2012 +0200
selftest/flapping: mark samba4.nss.test using winbind(s3dc) as flakey
I saw this at least 10 times in the last weeks.
[1425/1517 in 1h12m22s] samba4.nss.test using winbind(s3dc)
UNEXPECTED(failure): samba4.nss.test using winbind(s3dc).run nsstest(s3dc)
REASON: _StringException: _StringException: ERROR setpwent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR getpwent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR endpwent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR setgrent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR getgrent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR endgrent: NSS_STATUS=-1 1 (nss_errno=0)
ERROR Non existent user gave error -1
ERROR Non existent uid gave error -1
ERROR Non existent group gave error -1
ERROR Non existent gid gave error -1
total_errors=10
FAILED (1 failures, 0 errors and 0 unexpected successes in 0 testsuites)
metze
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Fri Jun 15 20:24:11 CEST 2012 on sn-devel-104
commit 917612a26fc567323e266762b895e09047cf40aa
Author: Björn Baumbach <bb at sernet.de>
Date: Fri Jun 15 12:33:32 2012 +0200
docs-xml: vfs_gpfs: add comment "per share option"
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 3eba94c0f170a998e2c779c03c39e48848c605d4
Author: Björn Baumbach <bb at sernet.de>
Date: Fri Jun 15 12:33:32 2012 +0200
docs-xml: vfs_gpfs: fix typo
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 54b6d294eecbcd4b9b9965311a8886d06f4aff05
Author: Björn Baumbach <bb at sernet.de>
Date: Fri Jun 15 12:33:32 2012 +0200
docs-xml: add gpfs:acl option to vfs_gpfs man page
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 289255ce7379188177eaa5f4f8fa527cb909af24
Author: Björn Baumbach <bb at sernet.de>
Date: Thu Jun 14 14:15:44 2012 +0200
s3:vfs_gpfs: add "gpfs:acl" option
With "gpfs:acl=no" you can pass the acl calls to the next SMB_VFS module.
Based on a patch from Hans-Dieter Schuster <hans-dieter.schuster at ts.fujitsu.com>
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
commit 442cb66c16d50e76725799aa74a8877207de88ec
Author: Volker Lendecke <vl at samba.org>
Date: Tue Jun 5 11:28:44 2012 +0200
dbwrap: Remove an unnecessary ZERO_STRUCT
We assign the only struct member one line down
Signed-off-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/manpages-3/vfs_gpfs.8.xml | 24 ++++++++++-
lib/dbwrap/dbwrap_rbt.c | 1 -
selftest/flapping | 1 +
source3/modules/vfs_gpfs.c | 81 ++++++++++++++++++++++++++++++++++++
4 files changed, 105 insertions(+), 2 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/manpages-3/vfs_gpfs.8.xml b/docs-xml/manpages-3/vfs_gpfs.8.xml
index 3635143..526d86d 100644
--- a/docs-xml/manpages-3/vfs_gpfs.8.xml
+++ b/docs-xml/manpages-3/vfs_gpfs.8.xml
@@ -50,6 +50,8 @@
<para>This module is stackable.</para>
+ <para>Since Samba 4.0 all options are per share options.</para>
+
</refsect1>
@@ -174,7 +176,7 @@
<listitem>
<para>
GPFS ACLs doesn't know about the 'APPEND' right.
- This optionen lets Samba map the 'APPEND' right to 'WRITE'.
+ This option lets Samba map the 'APPEND' right to 'WRITE'.
</para>
<itemizedlist>
@@ -190,6 +192,26 @@
</varlistentry>
<varlistentry>
+ <term>gpfs:acl = [ yes | no ]</term>
+ <listitem>
+ <para>
+ This option lets Samba use or ignore GPFS ACLs.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - use GPFS ACLs.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - do not use GPFS ACLs and pass everything
+ to the next SMB_VFS module.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
<term>gpfs:refuse_dacl_protected = [ yes | no ]</term>
<listitem>
<para>
diff --git a/lib/dbwrap/dbwrap_rbt.c b/lib/dbwrap/dbwrap_rbt.c
index 3dca3ba..d512eac 100644
--- a/lib/dbwrap/dbwrap_rbt.c
+++ b/lib/dbwrap/dbwrap_rbt.c
@@ -382,7 +382,6 @@ static int db_rbt_traverse_internal(struct db_context *db,
return ret;
}
- ZERO_STRUCT(rec_priv);
rec_priv.node = db_rbt2node(n);
/* n might be altered by the callback function */
n = NULL;
diff --git a/selftest/flapping b/selftest/flapping
index 7fd2cae..d8e8ba8 100644
--- a/selftest/flapping
+++ b/selftest/flapping
@@ -23,3 +23,4 @@
^samba3.raw.acls.inheritance\(plugin_s4_dc\) # Seems to flap - succeeds on sn-devel, fails on Fedora 16
^samba3.raw.samba3checkfsp.samba3checkfsp\(plugin_s4_dc\) # Seems to flap - succeeds on sn-devel, fails on Fedora 16
^samba3.raw.samba3closeerr.samba3closeerr\(plugin_s4_dc\) # Seems to flap - succeeds on sn-devel, fails on Fedora 16
+^samba4.nss.test.*using.*winbind\(s3dc\).run.*nsstest # fails sometimes on sn-devel
diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index 4b0f9eb..d4009c4 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -45,6 +45,7 @@ struct gpfs_config_data {
bool getrealfilename;
bool dfreequota;
bool prealloc;
+ bool acl;
};
@@ -350,8 +351,18 @@ static NTSTATUS gpfsacl_fget_nt_acl(vfs_handle_struct *handle,
{
SMB4ACL_T *pacl = NULL;
int result;
+ struct gpfs_config_data *config;
*ppdesc = NULL;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return NT_STATUS_INTERNAL_ERROR);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info, ppdesc);
+ }
+
result = gpfs_get_nfs4_acl(fsp->fsp_name->base_name, &pacl);
if (result == 0)
@@ -372,8 +383,18 @@ static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle,
{
SMB4ACL_T *pacl = NULL;
int result;
+ struct gpfs_config_data *config;
*ppdesc = NULL;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return NT_STATUS_INTERNAL_ERROR);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info, ppdesc);
+ }
+
result = gpfs_get_nfs4_acl(name, &pacl);
if (result == 0)
@@ -514,6 +535,16 @@ static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_i
static NTSTATUS gpfsacl_fset_nt_acl(vfs_handle_struct *handle, files_struct *fsp, uint32 security_info_sent, const struct security_descriptor *psd)
{
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return NT_STATUS_INTERNAL_ERROR);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, security_info_sent, psd);
+ }
+
return gpfsacl_set_nt_acl_internal(fsp, security_info_sent, psd);
}
@@ -627,6 +658,15 @@ static SMB_ACL_T gpfsacl_sys_acl_get_file(vfs_handle_struct *handle,
SMB_ACL_TYPE_T type)
{
gpfs_aclType_t gpfs_type;
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return NULL);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type);
+ }
switch(type) {
case SMB_ACL_TYPE_ACCESS:
@@ -646,6 +686,16 @@ static SMB_ACL_T gpfsacl_sys_acl_get_file(vfs_handle_struct *handle,
static SMB_ACL_T gpfsacl_sys_acl_get_fd(vfs_handle_struct *handle,
files_struct *fsp)
{
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return NULL);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp);
+ }
+
return gpfsacl_get_posix_acl(fsp->fsp_name->base_name,
GPFS_ACL_TYPE_ACCESS);
}
@@ -744,6 +794,15 @@ static int gpfsacl_sys_acl_set_file(vfs_handle_struct *handle,
{
struct gpfs_acl *gpfs_acl;
int result;
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return -1);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, type, theacl);
+ }
gpfs_acl = smb2gpfs_acl(theacl, type);
if (gpfs_acl == NULL) {
@@ -760,6 +819,16 @@ static int gpfsacl_sys_acl_set_fd(vfs_handle_struct *handle,
files_struct *fsp,
SMB_ACL_T theacl)
{
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return -1);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, theacl);
+ }
+
return gpfsacl_sys_acl_set_file(handle, fsp->fsp_name->base_name,
SMB_ACL_TYPE_ACCESS, theacl);
}
@@ -767,6 +836,16 @@ static int gpfsacl_sys_acl_set_fd(vfs_handle_struct *handle,
static int gpfsacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
const char *path)
{
+ struct gpfs_config_data *config;
+
+ SMB_VFS_HANDLE_GET_DATA(handle, config,
+ struct gpfs_config_data,
+ return -1);
+
+ if (!config->acl) {
+ return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path);
+ }
+
errno = ENOTSUP;
return -1;
}
@@ -1425,6 +1504,8 @@ static int vfs_gpfs_connect(struct vfs_handle_struct *handle,
config->prealloc = lp_parm_bool(SNUM(handle->conn), "gpfs",
"prealloc", true);
+ config->acl = lp_parm_bool(SNUM(handle->conn), "gpfs", "acl", true);
+
SMB_VFS_HANDLE_SET_DATA(handle, config,
NULL, struct gpfs_config_data,
return -1);
--
Samba Shared Repository
More information about the samba-cvs
mailing list