r2753: Workaround for the (rather broken) _samr_query_useraliases rpc-call.
authorGünther Deschner <gd@samba.org>
Wed, 29 Sep 2004 15:26:38 +0000 (15:26 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:52:51 +0000 (10:52 -0500)
_samr_query_useraliases shows up with all kind of very weird memberships
(global-groups, machine-accounts, etc.). Sometimes even if there is no
alias-membership at all.

One of the biggest mistakes is to convert any unix-group the user is a
member of, into an alias by default in get_group_from_gid.

get_alias_user_groups should be rewritten to use
pdb_enum_alias_memberships.

Guenther
(This used to be commit 73ab2d2a74d3992167d9304dd41f60ad0805dd67)

source3/groupdb/mapping.c

index 548651dfd538c6b1453c887f63525d543e8a56f5..6725165c3cfd4c82050213dac0113270b7f7d546 100644 (file)
@@ -945,25 +945,12 @@ BOOL get_group_from_gid(gid_t gid, GROUP_MAP *map)
        if ( (grp=getgrgid(gid)) == NULL)
                return False;
 
-       /*
-        * make a group map from scratch if doesn't exist.
-        */
-       
        become_root();
        ret = pdb_getgrgid(map, gid);
        unbecome_root();
        
        if ( !ret ) {
-               map->gid=gid;
-               map->sid_name_use=SID_NAME_ALIAS;
-
-               /* interim solution until we have a last RID allocated */
-
-               sid_copy(&map->sid, get_global_sam_sid());
-               sid_append_rid(&map->sid, pdb_gid_to_group_rid(gid));
-
-               fstrcpy(map->nt_name, grp->gr_name);
-               fstrcpy(map->comment, "Local Unix Group");
+               return False;
        }
        
        return True;