[SCM] Samba Shared Repository - branch master updated
Volker Lendecke
vlendec at samba.org
Thu Aug 13 15:46:04 UTC 2015
The branch, master has been updated
via b5ce90e nfs4acls: Remove type_name param from smbacl4_get_vfs_params
via 173dca4 nfs4acls: Fix a small memleak
via 9287b67 nfs4acls: Introduce a helper variable
via 5caaf00 nfs4acls: Remove a few unnecessary casts
via fafd0a0 nfs4acls: Use talloc_realloc()
via 7e630c3 nfs4acls: Use talloc_zero_array()
via 68c64c7 nfs4acls: Use talloc_zero()
via 8125503 nfs4acls: Use talloc_zero()
via 1ba9bbd nfs4acls: Remove get_validated_aceint
via aeef821 nfs4acls: Remove get_validated_aclint
via 45e1ef0 nfs4acls: Remove the SMB_ACE4_INT_T typedef
via 1d30e86 nfs4acls: Remove the SMB_ACL4_INT_T typedef
via 3314717 nfs4acls: Use SMB4ACE_T instead of _SMB_ACE4_INT_T
via 5a7997f nfs4acls: Use SMB4ACL_T instead of _SMB_ACL4_INT_T
via cf97ec5 nfs4acls: Remove an obsolete comment
via 157711c nfs4acls: Use an anon struct for SMB4ACE_T
via f15ad38 nfs4acls: Use an anon struct for SMB4ACL_T
via 9db523b nfs4acls: Use ZERO_STRUCTP
from 1fcad53 dns_server: Fix a small memleak
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit b5ce90e609164923dd3bb22d16e94ef998f08426
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 14:20:07 2015 +0200
nfs4acls: Remove type_name param from smbacl4_get_vfs_params
It is kindof unexpected that we get params for something else but
"nfs4:"
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Autobuild-User(master): Volker Lendecke <vl at samba.org>
Autobuild-Date(master): Thu Aug 13 17:45:31 CEST 2015 on sn-devel-104
commit 173dca482b87c10bc68c8c2f55a9983f15e04c73
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 14:16:04 2015 +0200
nfs4acls: Fix a small memleak
We don't need the nt_ace_list beyond this function, make_sec_acl makes
a copy and make_sec_desc makes another one
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 9287b6788d69f7fc481a4c857ba1e7646544072f
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 14:13:43 2015 +0200
nfs4acls: Introduce a helper variable
... triggered by removing a "==false" condition
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 5caaf00e7b523759485a86d0940b91f538d1193c
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:37:42 2015 +0200
nfs4acls: Remove a few unnecessary casts
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit fafd0a0c693dc523452640f00b96114b9ffddbf7
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:36:45 2015 +0200
nfs4acls: Use talloc_realloc()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 7e630c32da6e3dd89325432c86e1e7870cbed9e1
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:34:35 2015 +0200
nfs4acls: Use talloc_zero_array()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 68c64c7b3012b964fdbc37cf9922f896aceb6f39
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:33:40 2015 +0200
nfs4acls: Use talloc_zero()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 8125503339bee667cda71edb476ce0ca1b7f9c54
Author: Volker Lendecke <vl at samba.org>
Date: Wed Aug 12 07:31:01 2015 +0200
nfs4acls: Use talloc_zero()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 1ba9bbd4f3165f5b793a30bd6bddc548f210f9e0
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:12:46 2015 +0200
nfs4acls: Remove get_validated_aceint
With the anonymous struct SMB4ACE_T we can rely on the compiler
to warn us
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit aeef82192dbdd1991aa6429b6aa0c93ff19f5263
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:12:46 2015 +0200
nfs4acls: Remove get_validated_aclint
With the anonymous struct SMB4ACL_T we can rely on the compiler
to warn us
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 45e1ef07b9c2730b6b092f77c85ae9d0ddad33a2
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:04:05 2015 +0200
nfs4acls: Remove the SMB_ACE4_INT_T typedef
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 1d30e86a7e0c609147ed51725f879015d2ee2e0c
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:02:17 2015 +0200
nfs4acls: Remove the SMB_ACL4_INT_T typedef
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 33147171d346d18b210ae14d1d6246e67035004b
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 13:00:59 2015 +0200
nfs4acls: Use SMB4ACE_T instead of _SMB_ACE4_INT_T
We can make the _INT_ structure now be the representation of the
published anonymous struct
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 5a7997f43fb04eaf7d0402f6c42836ee468dbeb5
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 12:59:05 2015 +0200
nfs4acls: Use SMB4ACL_T instead of _SMB_ACL4_INT_T
We can make the _INT_ structure now be the representation of the
published anonymous struct
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit cf97ec56d26d03ddb1f182530e67c66dbc6c38fe
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 12:44:08 2015 +0200
nfs4acls: Remove an obsolete comment
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 157711cb4709d67603f4fc1abe8bea8dc84f8981
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 12:35:20 2015 +0200
nfs4acls: Use an anon struct for SMB4ACE_T
-typedef struct _SMB4ACE_T {char dontuse;} SMB4ACE_T;
+struct SMB4ACE_T;
Same as for ACL_T
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit f15ad38d141c6654dd2a280b9289b8829dc06f0e
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 12:35:20 2015 +0200
nfs4acls: Use an anon struct for SMB4ACL_T
The relevant change:
-typedef struct _SMB4ACL_T {char dontuse;} SMB4ACL_T;
+struct SMB4ACL_T;
We can use anonymous structs to prevent direct use. This patch will
trigger a set of simplifications in the next patches
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 9db523b169def3aef11664d7a297cd0bc44259fd
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 11 12:12:53 2015 +0200
nfs4acls: Use ZERO_STRUCTP
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/modules/nfs4_acls.c | 248 ++++++++++++++----------------------
source3/modules/nfs4_acls.h | 32 +++--
source3/modules/vfs_aixacl2.c | 16 ++-
source3/modules/vfs_gpfs.c | 17 +--
source3/modules/vfs_nfs4acl_xattr.c | 36 +++---
source3/modules/vfs_zfsacl.c | 13 +-
6 files changed, 153 insertions(+), 209 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c
index 9475248..26a98b7 100644
--- a/source3/modules/nfs4_acls.c
+++ b/source3/modules/nfs4_acls.c
@@ -37,23 +37,19 @@
extern const struct generic_mapping file_generic_mapping;
-#define SMB_ACE4_INT_MAGIC 0x76F8A967
-typedef struct _SMB_ACE4_INT_T
+struct SMB4ACE_T
{
- uint32_t magic;
SMB_ACE4PROP_T prop;
- void *next;
-} SMB_ACE4_INT_T;
+ struct SMB4ACE_T *next;
+};
-#define SMB_ACL4_INT_MAGIC 0x29A3E792
-typedef struct _SMB_ACL4_INT_T
+struct SMB4ACL_T
{
- uint32_t magic;
uint16_t controlflags;
uint32_t naces;
- SMB_ACE4_INT_T *first;
- SMB_ACE4_INT_T *last;
-} SMB_ACL4_INT_T;
+ struct SMB4ACE_T *first;
+ struct SMB4ACE_T *last;
+};
enum smbacl4_mode_enum {e_simple=0, e_special=1};
enum smbacl4_acedup_enum {e_dontcare=0, e_reject=1, e_ignore=2, e_merge=3};
@@ -69,7 +65,6 @@ typedef struct _smbacl4_vfs_params {
* Gather special parameters for NFS4 ACL handling
*/
static int smbacl4_get_vfs_params(
- const char *type_name,
struct connection_struct *conn,
smbacl4_vfs_params *params
)
@@ -88,23 +83,25 @@ static int smbacl4_get_vfs_params(
};
int enumval;
- memset(params, 0, sizeof(smbacl4_vfs_params));
+ ZERO_STRUCTP(params);
- enumval = lp_parm_enum(SNUM(conn), type_name, "mode",
+ enumval = lp_parm_enum(SNUM(conn), SMBACL4_PARAM_TYPE_NAME, "mode",
enum_smbacl4_modes, e_simple);
if (enumval == -1) {
- DEBUG(10, ("value for %s:mode unknown\n", type_name));
+ DEBUG(10, ("value for %s:mode unknown\n",
+ SMBACL4_PARAM_TYPE_NAME));
return -1;
}
params->mode = (enum smbacl4_mode_enum)enumval;
- params->do_chown = lp_parm_bool(SNUM(conn), type_name,
+ params->do_chown = lp_parm_bool(SNUM(conn), SMBACL4_PARAM_TYPE_NAME,
"chown", true);
- enumval = lp_parm_enum(SNUM(conn), type_name, "acedup",
+ enumval = lp_parm_enum(SNUM(conn), SMBACL4_PARAM_TYPE_NAME, "acedup",
enum_smbacl4_acedups, e_dontcare);
if (enumval == -1) {
- DEBUG(10, ("value for %s:acedup unknown\n", type_name));
+ DEBUG(10, ("value for %s:acedup unknown\n",
+ SMBACL4_PARAM_TYPE_NAME));
return -1;
}
params->acedup = (enum smbacl4_acedup_enum)enumval;
@@ -172,140 +169,101 @@ static uint32_t map_windows_ace_flags_to_nfs4_ace_flags(uint32_t win_ace_flags)
return nfs4_ace_flags;
}
-static SMB_ACL4_INT_T *get_validated_aclint(SMB4ACL_T *theacl)
+struct SMB4ACL_T *smb_create_smb4acl(TALLOC_CTX *mem_ctx)
{
- SMB_ACL4_INT_T *aclint = (SMB_ACL4_INT_T *)theacl;
- if (theacl==NULL)
- {
- DEBUG(2, ("acl is NULL\n"));
- errno = EINVAL;
- return NULL;
- }
- if (aclint->magic!=SMB_ACL4_INT_MAGIC)
- {
- DEBUG(2, ("aclint bad magic 0x%x\n", aclint->magic));
- errno = EINVAL;
- return NULL;
- }
- return aclint;
-}
-
-static SMB_ACE4_INT_T *get_validated_aceint(SMB4ACE_T *ace)
-{
- SMB_ACE4_INT_T *aceint = (SMB_ACE4_INT_T *)ace;
- if (ace==NULL)
- {
- DEBUG(2, ("ace is NULL\n"));
- errno = EINVAL;
- return NULL;
- }
- if (aceint->magic!=SMB_ACE4_INT_MAGIC)
- {
- DEBUG(2, ("aceint bad magic 0x%x\n", aceint->magic));
- errno = EINVAL;
- return NULL;
- }
- return aceint;
-}
+ struct SMB4ACL_T *theacl;
-SMB4ACL_T *smb_create_smb4acl(TALLOC_CTX *mem_ctx)
-{
- SMB_ACL4_INT_T *theacl = (SMB_ACL4_INT_T *)TALLOC_ZERO_SIZE(
- mem_ctx, sizeof(SMB_ACL4_INT_T));
+ theacl = talloc_zero(mem_ctx, struct SMB4ACL_T);
if (theacl==NULL)
{
DEBUG(0, ("TALLOC_SIZE failed\n"));
errno = ENOMEM;
return NULL;
}
- theacl->magic = SMB_ACL4_INT_MAGIC;
theacl->controlflags = SEC_DESC_SELF_RELATIVE;
/* theacl->first, last = NULL not needed */
- return (SMB4ACL_T *)theacl;
+ return theacl;
}
-SMB4ACE_T *smb_add_ace4(SMB4ACL_T *theacl, SMB_ACE4PROP_T *prop)
+struct SMB4ACE_T *smb_add_ace4(struct SMB4ACL_T *acl, SMB_ACE4PROP_T *prop)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- SMB_ACE4_INT_T *ace;
+ struct SMB4ACE_T *ace;
- ace = (SMB_ACE4_INT_T *)TALLOC_ZERO_SIZE(
- theacl, sizeof(SMB_ACE4_INT_T));
+ ace = talloc_zero(acl, struct SMB4ACE_T);
if (ace==NULL)
{
DEBUG(0, ("TALLOC_SIZE failed\n"));
errno = ENOMEM;
return NULL;
}
- ace->magic = SMB_ACE4_INT_MAGIC;
/* ace->next = NULL not needed */
memcpy(&ace->prop, prop, sizeof(SMB_ACE4PROP_T));
- if (aclint->first==NULL)
+ if (acl->first==NULL)
{
- aclint->first = ace;
- aclint->last = ace;
+ acl->first = ace;
+ acl->last = ace;
} else {
- aclint->last->next = (void *)ace;
- aclint->last = ace;
+ acl->last->next = ace;
+ acl->last = ace;
}
- aclint->naces++;
+ acl->naces++;
- return (SMB4ACE_T *)ace;
+ return ace;
}
-SMB_ACE4PROP_T *smb_get_ace4(SMB4ACE_T *ace)
+SMB_ACE4PROP_T *smb_get_ace4(struct SMB4ACE_T *ace)
{
- SMB_ACE4_INT_T *aceint = get_validated_aceint(ace);
- if (aceint==NULL)
+ if (ace == NULL) {
return NULL;
+ }
- return &aceint->prop;
+ return &ace->prop;
}
-SMB4ACE_T *smb_next_ace4(SMB4ACE_T *ace)
+struct SMB4ACE_T *smb_next_ace4(struct SMB4ACE_T *ace)
{
- SMB_ACE4_INT_T *aceint = get_validated_aceint(ace);
- if (aceint==NULL)
+ if (ace == NULL) {
return NULL;
+ }
- return (SMB4ACE_T *)aceint->next;
+ return ace->next;
}
-SMB4ACE_T *smb_first_ace4(SMB4ACL_T *theacl)
+struct SMB4ACE_T *smb_first_ace4(struct SMB4ACL_T *acl)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- if (aclint==NULL)
+ if (acl == NULL) {
return NULL;
+ }
- return (SMB4ACE_T *)aclint->first;
+ return acl->first;
}
-uint32_t smb_get_naces(SMB4ACL_T *theacl)
+uint32_t smb_get_naces(struct SMB4ACL_T *acl)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- if (aclint==NULL)
+ if (acl == NULL) {
return 0;
+ }
- return aclint->naces;
+ return acl->naces;
}
-uint16_t smbacl4_get_controlflags(SMB4ACL_T *theacl)
+uint16_t smbacl4_get_controlflags(struct SMB4ACL_T *acl)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- if (aclint==NULL)
+ if (acl == NULL) {
return 0;
+ }
- return aclint->controlflags;
+ return acl->controlflags;
}
-bool smbacl4_set_controlflags(SMB4ACL_T *theacl, uint16_t controlflags)
+bool smbacl4_set_controlflags(struct SMB4ACL_T *acl, uint16_t controlflags)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- if (aclint==NULL)
+ if (acl == NULL) {
return false;
+ }
- aclint->controlflags = controlflags;
+ acl->controlflags = controlflags;
return true;
}
@@ -313,7 +271,7 @@ static int smbacl4_GetFileOwner(struct connection_struct *conn,
const char *filename,
SMB_STRUCT_STAT *psbuf)
{
- memset(psbuf, 0, sizeof(SMB_STRUCT_STAT));
+ ZERO_STRUCTP(psbuf);
/* Get the stat struct for the owner info. */
if (vfs_stat_smb_basename(conn, filename, psbuf) != 0)
@@ -328,7 +286,7 @@ static int smbacl4_GetFileOwner(struct connection_struct *conn,
static int smbacl4_fGetFileOwner(files_struct *fsp, SMB_STRUCT_STAT *psbuf)
{
- memset(psbuf, 0, sizeof(SMB_STRUCT_STAT));
+ ZERO_STRUCTP(psbuf);
if (fsp->fh->fd == -1) {
return smbacl4_GetFileOwner(fsp->conn,
@@ -346,7 +304,7 @@ static int smbacl4_fGetFileOwner(files_struct *fsp, SMB_STRUCT_STAT *psbuf)
static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx,
smbacl4_vfs_params *params,
- SMB4ACL_T *theacl, /* in */
+ struct SMB4ACL_T *acl, /* in */
struct dom_sid *psid_owner, /* in */
struct dom_sid *psid_group, /* in */
bool is_directory, /* in */
@@ -354,42 +312,32 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx,
int *pgood_aces /* out */
)
{
- SMB_ACL4_INT_T *aclint = (SMB_ACL4_INT_T *)theacl;
- SMB_ACE4_INT_T *aceint;
+ struct SMB4ACE_T *aceint;
struct security_ace *nt_ace_list = NULL;
int good_aces = 0;
DEBUG(10, ("%s entered\n", __func__));
- aclint = get_validated_aclint(theacl);
- /* We do not check for theacl being NULL here
- because this is already checked in smb_get_nt_acl_nfs4().
- We reserve twice the number of input aces because one nfs4
- ace might result in 2 nt aces.*/
- nt_ace_list = (struct security_ace *)TALLOC_ZERO_SIZE(
- mem_ctx, 2 * aclint->naces * sizeof(struct security_ace));
+ nt_ace_list = talloc_zero_array(mem_ctx, struct security_ace,
+ 2 * acl->naces);
if (nt_ace_list==NULL)
{
- DEBUG(10, ("talloc error with %d aces", aclint->naces));
+ DEBUG(10, ("talloc error with %d aces", acl->naces));
errno = ENOMEM;
return false;
}
- for (aceint=aclint->first;
- aceint!=NULL;
- aceint=(SMB_ACE4_INT_T *)aceint->next) {
+ for (aceint = acl->first; aceint != NULL; aceint = aceint->next) {
uint32_t mask;
struct dom_sid sid;
SMB_ACE4PROP_T *ace = &aceint->prop;
uint32_t win_ace_flags;
- DEBUG(10, ("magic: 0x%x, type: %d, iflags: %x, flags: %x, "
+ DEBUG(10, ("type: %d, iflags: %x, flags: %x, "
"mask: %x, who: %d\n",
- aceint->magic, ace->aceType, ace->flags,
+ ace->aceType, ace->flags,
ace->aceFlags, ace->aceMask, ace->who.id));
- SMB_ASSERT(aceint->magic==SMB_ACE4_INT_MAGIC);
-
if (ace->flags & SMB_ACE4_ID_SPECIAL) {
switch (ace->who.special_id) {
case SMB_ACE4_WHO_OWNER:
@@ -507,9 +455,9 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx,
}
}
- nt_ace_list = (struct security_ace *)
- TALLOC_REALLOC(mem_ctx, nt_ace_list,
- good_aces * sizeof(struct security_ace));
+ nt_ace_list = talloc_realloc(mem_ctx, nt_ace_list, struct security_ace,
+ good_aces);
+
/* returns a NULL ace list when good_aces is zero. */
if (good_aces && nt_ace_list == NULL) {
DEBUG(10, ("realloc error with %d aces", good_aces));
@@ -528,7 +476,7 @@ static NTSTATUS smb_get_nt_acl_nfs4_common(const SMB_STRUCT_STAT *sbuf,
uint32_t security_info,
TALLOC_CTX *mem_ctx,
struct security_descriptor **ppdesc,
- SMB4ACL_T *theacl)
+ struct SMB4ACL_T *theacl)
{
int good_aces = 0;
struct dom_sid sid_owner, sid_group;
@@ -536,6 +484,7 @@ static NTSTATUS smb_get_nt_acl_nfs4_common(const SMB_STRUCT_STAT *sbuf,
struct security_ace *nt_ace_list = NULL;
struct security_acl *psa = NULL;
TALLOC_CTX *frame = talloc_stackframe();
+ bool ok;
if (theacl==NULL) {
TALLOC_FREE(frame);
@@ -547,9 +496,10 @@ static NTSTATUS smb_get_nt_acl_nfs4_common(const SMB_STRUCT_STAT *sbuf,
uid_to_sid(&sid_owner, sbuf->st_ex_uid);
gid_to_sid(&sid_group, sbuf->st_ex_gid);
- if (smbacl4_nfs42win(mem_ctx, params, theacl, &sid_owner, &sid_group,
- S_ISDIR(sbuf->st_ex_mode),
- &nt_ace_list, &good_aces)==false) {
+ ok = smbacl4_nfs42win(frame, params, theacl, &sid_owner, &sid_group,
+ S_ISDIR(sbuf->st_ex_mode),
+ &nt_ace_list, &good_aces);
+ if (!ok) {
DEBUG(8,("smbacl4_nfs42win failed\n"));
TALLOC_FREE(frame);
return map_nt_error_from_unix(errno);
@@ -586,7 +536,7 @@ NTSTATUS smb_fget_nt_acl_nfs4(files_struct *fsp,
uint32_t security_info,
TALLOC_CTX *mem_ctx,
struct security_descriptor **ppdesc,
- SMB4ACL_T *theacl)
+ struct SMB4ACL_T *theacl)
{
SMB_STRUCT_STAT sbuf;
smbacl4_vfs_params params;
@@ -598,7 +548,7 @@ NTSTATUS smb_fget_nt_acl_nfs4(files_struct *fsp,
}
/* Special behaviours */
- if (smbacl4_get_vfs_params(SMBACL4_PARAM_TYPE_NAME, fsp->conn, ¶ms)) {
+ if (smbacl4_get_vfs_params(fsp->conn, ¶ms)) {
return NT_STATUS_NO_MEMORY;
}
@@ -611,7 +561,7 @@ NTSTATUS smb_get_nt_acl_nfs4(struct connection_struct *conn,
uint32_t security_info,
TALLOC_CTX *mem_ctx,
struct security_descriptor **ppdesc,
- SMB4ACL_T *theacl)
+ struct SMB4ACL_T *theacl)
{
SMB_STRUCT_STAT sbuf;
smbacl4_vfs_params params;
@@ -623,7 +573,7 @@ NTSTATUS smb_get_nt_acl_nfs4(struct connection_struct *conn,
}
/* Special behaviours */
- if (smbacl4_get_vfs_params(SMBACL4_PARAM_TYPE_NAME, conn, ¶ms)) {
+ if (smbacl4_get_vfs_params(conn, ¶ms)) {
return NT_STATUS_NO_MEMORY;
}
@@ -631,16 +581,13 @@ NTSTATUS smb_get_nt_acl_nfs4(struct connection_struct *conn,
mem_ctx, ppdesc, theacl);
}
-static void smbacl4_dump_nfs4acl(int level, SMB4ACL_T *theacl)
+static void smbacl4_dump_nfs4acl(int level, struct SMB4ACL_T *acl)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- SMB_ACE4_INT_T *aceint;
+ struct SMB4ACE_T *aceint;
- DEBUG(level, ("NFS4ACL: size=%d\n", aclint->naces));
+ DEBUG(level, ("NFS4ACL: size=%d\n", acl->naces));
- for (aceint = aclint->first;
- aceint!=NULL;
- aceint=(SMB_ACE4_INT_T *)aceint->next) {
+ for (aceint = acl->first; aceint != NULL; aceint = aceint->next) {
SMB_ACE4PROP_T *ace = &aceint->prop;
DEBUG(level, ("\tACE: type=%d, flags=0x%x, fflags=0x%x, "
@@ -658,14 +605,12 @@ static void smbacl4_dump_nfs4acl(int level, SMB4ACL_T *theacl)
* return ace if found matching; otherwise NULL
*/
static SMB_ACE4PROP_T *smbacl4_find_equal_special(
- SMB4ACL_T *theacl,
+ struct SMB4ACL_T *acl,
SMB_ACE4PROP_T *aceNew)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- SMB_ACE4_INT_T *aceint;
+ struct SMB4ACE_T *aceint;
- for (aceint = aclint->first; aceint != NULL;
- aceint=(SMB_ACE4_INT_T *)aceint->next) {
+ for (aceint = acl->first; aceint != NULL; aceint = aceint->next) {
SMB_ACE4PROP_T *ace = &aceint->prop;
DEBUG(10,("ace type:0x%x flags:0x%x aceFlags:0x%x "
@@ -711,7 +656,7 @@ static bool smbacl4_fill_ace4(
{
DEBUG(10, ("got ace for %s\n", sid_string_dbg(&ace_nt->trustee)));
- memset(ace_v4, 0, sizeof(SMB_ACE4PROP_T));
+ ZERO_STRUCTP(ace_v4);
/* only ACCESS|DENY supported right now */
ace_v4->aceType = ace_nt->type;
@@ -795,7 +740,7 @@ static bool smbacl4_fill_ace4(
static int smbacl4_MergeIgnoreReject(
enum smbacl4_acedup_enum acedup,
- SMB4ACL_T *theacl, /* may modify it */
+ struct SMB4ACL_T *theacl, /* may modify it */
SMB_ACE4PROP_T *ace, /* the "new" ACE */
bool *paddNewACE,
int i
@@ -828,15 +773,14 @@ static int smbacl4_MergeIgnoreReject(
}
static int smbacl4_substitute_special(
- SMB4ACL_T *theacl,
+ struct SMB4ACL_T *acl,
uid_t ownerUID,
gid_t ownerGID
)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- SMB_ACE4_INT_T *aceint;
+ struct SMB4ACE_T *aceint;
- for(aceint = aclint->first; aceint!=NULL; aceint=(SMB_ACE4_INT_T *)aceint->next) {
+ for (aceint = acl->first; aceint != NULL; aceint = aceint->next) {
SMB_ACE4PROP_T *ace = &aceint->prop;
DEBUG(10,("ace type: %d, iflags: %x, flags: %x, "
@@ -864,15 +808,14 @@ static int smbacl4_substitute_special(
}
static int smbacl4_substitute_simple(
- SMB4ACL_T *theacl,
+ struct SMB4ACL_T *acl,
uid_t ownerUID,
gid_t ownerGID
)
{
- SMB_ACL4_INT_T *aclint = get_validated_aclint(theacl);
- SMB_ACE4_INT_T *aceint;
+ struct SMB4ACE_T *aceint;
--
Samba Shared Repository
More information about the samba-cvs
mailing list