mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
r2753: Workaround for the (rather broken) _samr_query_useraliases rpc-call.
_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 commit is contained in:
parent
c5b8bc6c2e
commit
73ab2d2a74
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user