sysacls: change datatypes to 32 bits
authorUri Simchoni <uri@samba.org>
Tue, 5 Dec 2017 18:56:49 +0000 (20:56 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 21 Dec 2017 18:12:08 +0000 (19:12 +0100)
commit75e7da9741c529f96fa409655ac5b326a6c071c5
treeb7b2f2ea5da7db8b0f3c1d84336b0e9a250ee36f
parentd6f5ee6707fa5404e2bef6fc81ae06b393ebd8ff
sysacls: change datatypes to 32 bits

The SMB_ACL_PERMSET_T and SMB_ACL_PERM_T were defined as
mode_t, which is 16-bits on some (non-Linux) systems. However,
pidl *always* encodes mode_t as uint32_t. That created a bug on
big-endian systems as sys_acl_get_permset() returns a SMB_ACL_PERMSET_T
pointer to an internal a_perm structure member defined in IDL as a mode_t,
which pidl turns into a uin32_t in the emitted header file.

Changing to 32 bits fixes that.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13176

Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/include/smb_acls.h