diff --git a/source/nsswitch/winbindd_util.c b/source/nsswitch/winbindd_util.c index ecd919d..7b82107 100644 --- a/source/nsswitch/winbindd_util.c +++ b/source/nsswitch/winbindd_util.c @@ -153,7 +153,13 @@ static struct winbindd_domain *add_trusted_domain(const char *domain_name, const domain->methods = methods; domain->backend = NULL; - domain->internal = is_internal_domain(sid); + /* If we're running on a Samba PDC we should contact + * our local smbd, not handle things locally. */ + if (IS_DC && sid_check_is_domain(sid)) { + domain->internal = false; + } else { + domain->internal = is_internal_domain(sid); + } domain->sequence_number = DOM_SEQUENCE_NONE; domain->last_seq_check = 0; domain->initialized = False;