Make use of sid_check_is_in_unix_users/groups
authorVolker Lendecke <vl@samba.org>
Thu, 3 Jul 2008 00:26:43 +0000 (02:26 +0200)
committerVolker Lendecke <vl@samba.org>
Thu, 3 Jul 2008 09:08:51 +0000 (11:08 +0200)
Don't replicate code unnecessarily

source/passdb/lookup_sid.c

index a7175b9647fa4af2a4f14ce900fab9d519ed5e7d..35af1ff0dcdec79583baffc244df61f7b9cd8329 100644 (file)
@@ -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;
        }