From: Christof Schmitt Date: Mon, 15 Jul 2019 20:15:32 +0000 (-0700) Subject: nfs4_acls: Use switch/case for checking idmap type X-Git-Tag: samba-4.9.12~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2493a9f81b92df55c5e4c4f71c3635e3fedd445e;p=thirdparty%2Fsamba.git nfs4_acls: Use switch/case for checking idmap type BUG: https://bugzilla.samba.org/show_bug.cgi?id=14032 Signed-off-by: Christof Schmitt Reviewed-by: Ralph Boehme (cherry picked from commit f198a0867e71f248d4887ab0b6f2832123b16d11) --- diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c index 4069c9310ed..f8861e9058b 100644 --- a/source3/modules/nfs4_acls.c +++ b/source3/modules/nfs4_acls.c @@ -730,18 +730,27 @@ static bool smbacl4_fill_ace4( return false; } - if (unixid.type == ID_TYPE_GID || unixid.type == ID_TYPE_BOTH) { + if (dom_sid_compare_domain(&ace_nt->trustee, + &global_sid_Unix_NFS) == 0) { + return false; + } + + switch (unixid.type) { + case ID_TYPE_BOTH: ace_v4->aceFlags |= SMB_ACE4_IDENTIFIER_GROUP; ace_v4->who.gid = unixid.id; - } else if (unixid.type == ID_TYPE_UID) { + break; + case ID_TYPE_GID: + ace_v4->aceFlags |= SMB_ACE4_IDENTIFIER_GROUP; + ace_v4->who.gid = unixid.id; + break; + case ID_TYPE_UID: ace_v4->who.uid = unixid.id; - } else if (dom_sid_compare_domain(&ace_nt->trustee, - &global_sid_Unix_NFS) == 0) { - return false; - } else { - DEBUG(1, ("nfs4_acls.c: could not " - "convert %s to uid or gid\n", - dom_sid_str_buf(&ace_nt->trustee, &buf))); + break; + case ID_TYPE_NOT_SPECIFIED: + default: + DBG_WARNING("Could not convert %s to uid or gid.\n", + dom_sid_str_buf(&ace_nt->trustee, &buf)); return false; } }