mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
winbindd: fix predefined domains routing in find_lookup_domain_from_sid()
Route predefined domains through the BUILTIN domain child, not passdb. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12164 Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Ralph Boehme <slow@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Mulder <dmulder@suse.com> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
e0f784baea
commit
b512a58bbd
@ -108,15 +108,6 @@ static bool is_internal_domain(const struct dom_sid *sid)
|
||||
return (sid_check_is_our_sam(sid) || sid_check_is_builtin(sid));
|
||||
}
|
||||
|
||||
static bool is_in_internal_domain(const struct dom_sid *sid)
|
||||
{
|
||||
if (sid == NULL)
|
||||
return False;
|
||||
|
||||
return (sid_check_is_in_our_sam(sid) || sid_check_is_in_builtin(sid));
|
||||
}
|
||||
|
||||
|
||||
/* Add a trusted domain to our list of domains.
|
||||
If the domain already exists in the list,
|
||||
return it and don't re-initialize. */
|
||||
@ -1475,20 +1466,18 @@ struct winbindd_domain *find_lookup_domain_from_sid(const struct dom_sid *sid)
|
||||
sid_check_is_unix_groups(sid) ||
|
||||
sid_check_is_in_unix_users(sid) ||
|
||||
sid_check_is_unix_users(sid) ||
|
||||
sid_check_is_wellknown_domain(sid, NULL) ||
|
||||
sid_check_is_in_wellknown_domain(sid) )
|
||||
sid_check_is_our_sam(sid) ||
|
||||
sid_check_is_in_our_sam(sid) )
|
||||
{
|
||||
return find_domain_from_sid(get_global_sam_sid());
|
||||
}
|
||||
|
||||
/*
|
||||
* On member servers the internal domains are different: These are part
|
||||
* of the local SAM.
|
||||
*/
|
||||
|
||||
if (is_internal_domain(sid) || is_in_internal_domain(sid)) {
|
||||
DEBUG(10, ("calling find_domain_from_sid\n"));
|
||||
return find_domain_from_sid(sid);
|
||||
if ( sid_check_is_builtin(sid) ||
|
||||
sid_check_is_in_builtin(sid) ||
|
||||
sid_check_is_wellknown_domain(sid, NULL) ||
|
||||
sid_check_is_in_wellknown_domain(sid) )
|
||||
{
|
||||
return find_domain_from_sid(&global_sid_Builtin);
|
||||
}
|
||||
|
||||
if (IS_DC) {
|
||||
|
Loading…
Reference in New Issue
Block a user