Argl. Thinking twice and looking at the rest of callers of sid_compare_domain
authorVolker Lendecke <vlendec@samba.org>
Sun, 13 Jul 2003 09:43:58 +0000 (09:43 +0000)
committerVolker Lendecke <vlendec@samba.org>
Sun, 13 Jul 2003 09:43:58 +0000 (09:43 +0000)
proved the last patch wrong.

Sorry.

Volker
(This used to be commit d8695eccc7acdee69ca0d0593b56a417f1f89167)

source3/passdb/passdb.c

index d974cdf576b312a288bab232f4d000eb509d9f7c..ae52b3d4f134c125f3f45ce96a8e200d6af5e553 100644 (file)
@@ -1089,17 +1089,22 @@ DOM_SID *local_uid_to_sid(DOM_SID *psid, uid_t uid)
 
 BOOL local_sid_to_uid(uid_t *puid, const DOM_SID *psid, enum SID_NAME_USE *name_type)
 {
+       DOM_SID dom_sid;
+       uint32 rid;
        SAM_ACCOUNT *sampw = NULL;      
        struct passwd *unix_pw;
        const char *user_name;
 
        *name_type = SID_NAME_UNKNOWN;
 
+       sid_copy(&dom_sid, psid);
+       sid_split_rid(&dom_sid, &rid);
+
        /*
         * We can only convert to a uid if this is our local
         * Domain SID (ie. we are the controling authority).
         */
-       if ( !sid_compare_domain(get_global_sam_sid(), psid) )
+       if ( !sid_equal(get_global_sam_sid(), &dom_sid) )
                return False;