From cd8e63b2b45402091d6d328b3c6ca593fc19ac92 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 3 Jul 2008 02:26:43 +0200 Subject: [PATCH] Make use of sid_check_is_in_unix_users/groups Don't replicate code unnecessarily --- source/passdb/lookup_sid.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/source/passdb/lookup_sid.c b/source/passdb/lookup_sid.c index a7175b9647f..35af1ff0dcd 100644 --- a/source/passdb/lookup_sid.c +++ b/source/passdb/lookup_sid.c @@ -1344,7 +1344,6 @@ void gid_to_sid(DOM_SID *psid, gid_t gid) bool sid_to_uid(const DOM_SID *psid, uid_t *puid) { - uint32 rid; gid_t gid; if (fetch_uid_from_cache(puid, psid)) @@ -1356,13 +1355,16 @@ bool sid_to_uid(const DOM_SID *psid, uid_t *puid) /* Optimize for the Unix Users Domain * as the conversion is straightforward */ - if (sid_peek_check_rid(&global_sid_Unix_Users, psid, &rid)) { - uid_t uid = rid; - *puid = uid; + + if (sid_check_is_in_unix_users(psid)) { + uint32_t rid; + + sid_peek_rid(psid, &rid); + *puid = (uid_t)rid; /* return here, don't cache */ - DEBUG(10,("sid %s -> uid %u\n", sid_string_dbg(psid), - (unsigned int)*puid )); + DEBUG(10, ("sid %s -> uid %u\n", sid_string_dbg(psid), + (unsigned int)rid)); return true; } @@ -1404,13 +1406,16 @@ bool sid_to_gid(const DOM_SID *psid, gid_t *pgid) /* Optimize for the Unix Groups Domain * as the conversion is straightforward */ - if (sid_peek_check_rid(&global_sid_Unix_Groups, psid, &rid)) { - gid_t gid = rid; - *pgid = gid; + + if (sid_check_is_in_unix_groups(psid)) { + uint32_t rid; + + sid_peek_rid(psid, &rid); + *pgid = (gid_t)rid; /* return here, don't cache */ - DEBUG(10,("sid %s -> gid %u\n", sid_string_dbg(psid), - (unsigned int)*pgid )); + DEBUG(10, ("sid %s -> gid %u\n", sid_string_dbg(psid), + (unsigned int)rid)); return true; } -- 2.11.4.GIT