diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-08-13 19:34:36 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-08-15 11:44:44 +1000 |
commit | 7dff34f5d08d6389e0465d70a267ec87ed14849e (patch) | |
tree | 28e64580a044f234945d0c39acfda3a51e1210fd /source3/smbd | |
parent | 0705391ed06441b2046d1de4529aa93f51bc3573 (diff) | |
download | samba-7dff34f5d08d6389e0465d70a267ec87ed14849e.tar.gz samba-7dff34f5d08d6389e0465d70a267ec87ed14849e.tar.bz2 samba-7dff34f5d08d6389e0465d70a267ec87ed14849e.zip |
s3-smbd: Call sys_acl_get_perm() 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
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/posix_acls.c | 12 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 6 |
2 files changed, 9 insertions, 9 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 3485974320..f3e748d893 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -859,9 +859,9 @@ static mode_t convert_permset_to_mode_t(connection_struct *conn, SMB_ACL_PERMSET { mode_t ret = 0; - ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_READ) ? S_IRUSR : 0); - ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_WRITE) ? S_IWUSR : 0); - ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_EXECUTE) ? S_IXUSR : 0); + ret |= (sys_acl_get_perm(permset, SMB_ACL_READ) ? S_IRUSR : 0); + ret |= (sys_acl_get_perm(permset, SMB_ACL_WRITE) ? S_IWUSR : 0); + ret |= (sys_acl_get_perm(permset, SMB_ACL_EXECUTE) ? S_IXUSR : 0); return ret; } @@ -4290,9 +4290,9 @@ int get_acl_group_bits( connection_struct *conn, const char *fname, mode_t *mode break; } else { *mode &= ~(S_IRGRP|S_IWGRP|S_IXGRP); - *mode |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_READ) ? S_IRGRP : 0); - *mode |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_WRITE) ? S_IWGRP : 0); - *mode |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_EXECUTE) ? S_IXGRP : 0); + *mode |= (sys_acl_get_perm(permset, SMB_ACL_READ) ? S_IRGRP : 0); + *mode |= (sys_acl_get_perm(permset, SMB_ACL_WRITE) ? S_IWGRP : 0); + *mode |= (sys_acl_get_perm(permset, SMB_ACL_EXECUTE) ? S_IXGRP : 0); result = 0; break; } diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 73feaf8798..867e0e56b8 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3878,9 +3878,9 @@ static bool marshall_posix_acl(connection_struct *conn, char *pdata, SMB_STRUCT_ return False; } - perms |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_READ) ? SMB_POSIX_ACL_READ : 0); - perms |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_WRITE) ? SMB_POSIX_ACL_WRITE : 0); - perms |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_EXECUTE) ? SMB_POSIX_ACL_EXECUTE : 0); + perms |= (sys_acl_get_perm(permset, SMB_ACL_READ) ? SMB_POSIX_ACL_READ : 0); + perms |= (sys_acl_get_perm(permset, SMB_ACL_WRITE) ? SMB_POSIX_ACL_WRITE : 0); + perms |= (sys_acl_get_perm(permset, SMB_ACL_EXECUTE) ? SMB_POSIX_ACL_EXECUTE : 0); SCVAL(pdata,1,perms); |