nfs4acls: Add "smbacl4_vfs_params" parameter to smb_fget_nt_acl_nfs4
authorVolker Lendecke <vl@samba.org>
Tue, 9 Aug 2016 09:07:38 +0000 (11:07 +0200)
committerRalph Boehme <slow@samba.org>
Fri, 12 Aug 2016 15:15:20 +0000 (17:15 +0200)
Pure placeholder right now, this will allow vfs modules to load the params
in advance. nfs4 acl parameters should not change while a tcon is live,
and lp_parm_get_* show up in profiles. Loading the parameters once at
tcon time will remove this.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/modules/nfs4_acls.c
source3/modules/nfs4_acls.h
source3/modules/vfs_aixacl2.c
source3/modules/vfs_gpfs.c
source3/modules/vfs_nfs4acl_xattr.c
source3/modules/vfs_zfsacl.c

index f5f6302..66794fe 100644 (file)
@@ -533,6 +533,7 @@ static NTSTATUS smb_get_nt_acl_nfs4_common(const SMB_STRUCT_STAT *sbuf,
 }
 
 NTSTATUS smb_fget_nt_acl_nfs4(files_struct *fsp,
+                             const struct smbacl4_vfs_params *pparams,
                              uint32_t security_info,
                              TALLOC_CTX *mem_ctx,
                              struct security_descriptor **ppdesc,
index 588e8ea..f8d6867 100644 (file)
@@ -109,6 +109,7 @@ typedef struct _SMB_ACE4PROP_T {
 
 struct SMB4ACL_T;
 struct SMB4ACE_T;
+struct smbacl4_vfs_params;
 
 struct SMB4ACL_T *smb_create_smb4acl(TALLOC_CTX *mem_ctx);
 
@@ -131,6 +132,7 @@ uint16_t smbacl4_get_controlflags(struct SMB4ACL_T *theacl);
 bool smbacl4_set_controlflags(struct SMB4ACL_T *theacl, uint16_t controlflags);
 
 NTSTATUS smb_fget_nt_acl_nfs4(files_struct *fsp,
+       const struct smbacl4_vfs_params *pparams,
        uint32_t security_info,
        TALLOC_CTX *mem_ctx,
        struct security_descriptor **ppdesc, struct SMB4ACL_T *theacl);
index 1c9f84b..362486b 100644 (file)
@@ -179,7 +179,7 @@ static NTSTATUS aixjfs2_fget_nt_acl(vfs_handle_struct *handle,
                return NT_STATUS_ACCESS_DENIED;
        }
 
-       status = smb_fget_nt_acl_nfs4(fsp, security_info, ppdesc,
+       status = smb_fget_nt_acl_nfs4(fsp, NULL, security_info, ppdesc,
                                      mem_ctx, pacl);
        TALLOC_FREE(frame);
        return status;
index f096dd5..c3ce9e1 100644 (file)
@@ -589,8 +589,8 @@ static NTSTATUS gpfsacl_fget_nt_acl(vfs_handle_struct *handle,
        result = gpfs_get_nfs4_acl(frame, fsp->fsp_name->base_name, &pacl);
 
        if (result == 0) {
-               status = smb_fget_nt_acl_nfs4(fsp, security_info, mem_ctx,
-                                             ppdesc, pacl);
+               status = smb_fget_nt_acl_nfs4(fsp, NULL, security_info,
+                                             mem_ctx, ppdesc, pacl);
                TALLOC_FREE(frame);
                return status;
        }
index 9ab7238..c9cae39 100644 (file)
@@ -535,7 +535,8 @@ static NTSTATUS nfs4acl_xattr_fget_nt_acl(struct vfs_handle_struct *handle,
                return status;
        }
 
-       status = smb_fget_nt_acl_nfs4(fsp, security_info, mem_ctx, ppdesc, pacl);
+       status = smb_fget_nt_acl_nfs4(fsp, NULL, security_info, mem_ctx,
+                                     ppdesc, pacl);
        TALLOC_FREE(frame);
        return status;
 }
index 18f1356..0077553 100644 (file)
@@ -209,7 +209,8 @@ static NTSTATUS zfsacl_fget_nt_acl(struct vfs_handle_struct *handle,
                return status;
        }
 
-       status = smb_fget_nt_acl_nfs4(fsp, security_info, mem_ctx, ppdesc, pacl);
+       status = smb_fget_nt_acl_nfs4(fsp, NULL, security_info, mem_ctx,
+                                     ppdesc, pacl);
        TALLOC_FREE(frame);
        return status;
 }