diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-08-13 19:38:09 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-08-15 11:44:45 +1000 |
commit | 3b409324d3196b8f08df63189fc7d0802f03d757 (patch) | |
tree | f7c08fe9e00437b1f27aebe67d6df29a40c627de | |
parent | 7dff34f5d08d6389e0465d70a267ec87ed14849e (diff) | |
download | samba-3b409324d3196b8f08df63189fc7d0802f03d757.tar.gz samba-3b409324d3196b8f08df63189fc7d0802f03d757.tar.bz2 samba-3b409324d3196b8f08df63189fc7d0802f03d757.zip |
s3-smbd: Call sys_acl_get_permset() directly rather than via the VFS
This will allow us to remove the struct smb_acl_t manipuations from the VFS layer,
which will be reduced to handling the get/set functions.
Andrew Bartlett
-rw-r--r-- | source3/smbd/posix_acls.c | 14 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 2 |
2 files changed, 8 insertions, 8 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index f3e748d893..257bd86108 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -2644,7 +2644,7 @@ static canon_ace *canonicalise_acl(struct connection_struct *conn, if (SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1) continue; - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1) + if (sys_acl_get_permset(entry, &permset) == -1) continue; /* Decide which SID to use based on the ACL type. */ @@ -2937,7 +2937,7 @@ static bool set_canon_ace_list(files_struct *fsp, * Convert the mode_t perms in the canon_ace to a POSIX permset. */ - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, the_entry, &the_permset) == -1) { + if (sys_acl_get_permset(the_entry, &the_permset) == -1) { DEBUG(0,("set_canon_ace_list: Failed to get permset on entry %d. (%s)\n", i, strerror(errno) )); goto fail; @@ -2975,7 +2975,7 @@ static bool set_canon_ace_list(files_struct *fsp, goto fail; } - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, mask_entry, &mask_permset) == -1) { + if (sys_acl_get_permset(mask_entry, &mask_permset) == -1) { DEBUG(0,("set_canon_ace_list: Failed to get mask permset. (%s)\n", strerror(errno) )); goto fail; } @@ -4286,7 +4286,7 @@ int get_acl_group_bits( connection_struct *conn, const char *fname, mode_t *mode break; if (tagtype == SMB_ACL_GROUP_OBJ) { - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1) { + if (sys_acl_get_permset(entry, &permset) == -1) { break; } else { *mode &= ~(S_IRGRP|S_IWGRP|S_IXGRP); @@ -4323,7 +4323,7 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo if (SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1) return -1; - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1) + if (sys_acl_get_permset(entry, &permset) == -1) return -1; num_entries++; @@ -4565,7 +4565,7 @@ static SMB_ACL_T create_posix_acl_from_wire(connection_struct *conn, uint16 num_ } /* Get the permset pointer from the new ACL entry. */ - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, the_entry, &the_permset) == -1) { + if (sys_acl_get_permset(the_entry, &the_permset) == -1) { DEBUG(0,("create_posix_acl_from_wire: Failed to get permset on entry %u. (%s)\n", i, strerror(errno) )); goto fail; @@ -4750,7 +4750,7 @@ static bool remove_posix_acl(connection_struct *conn, files_struct *fsp, const c goto done; } - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1) { + if (sys_acl_get_permset(entry, &permset) == -1) { DEBUG(5,("remove_posix_acl: failed to get permset from ACL on file %s (%s).\n", fname, strerror(errno) )); goto done; diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 867e0e56b8..7f3f9cc1ff 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3873,7 +3873,7 @@ static bool marshall_posix_acl(connection_struct *conn, char *pdata, SMB_STRUCT_ return False; } - if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1) { + if (sys_acl_get_permset(entry, &permset) == -1) { DEBUG(0,("marshall_posix_acl: SMB_VFS_SYS_ACL_GET_PERMSET failed.\n")); return False; } |