On Mon, Jul 07, 2014 at 07:03:01PM +0200, Pavel Reichl wrote:
On Mon, 2014-06-23 at 11:41 +0200, Sumit Bose wrote:
> On Mon, Jun 23, 2014 at 11:20:52AM +0200, Jakub Hrozek wrote:
> > On Tue, Jun 17, 2014 at 06:30:31PM +0200, Pavel Reichl wrote:
> > > Hello,
> > >
> > > please see attached patch.
> > >
> > > Regards,
> > >
> > > PR
> >
> > The patch solves the problem, but I think one part should be improved:
> >
> > > @@ -875,7 +893,13 @@ static void
sdap_ad_tokengroups_initgr_mapping_done(struct tevent_req *subreq)
> > > domain =
find_subdomain_by_sid(get_domains_head(state->domain), sid);
> > > if (domain == NULL) {
> > > DEBUG(SSSDBG_MINOR_FAILURE, "Domain not found for SID
%s\n", sid);
> > > - continue;
> > > + if (state->domain->parent == NULL &&
> > > + state->domain->subdomains == NULL) {
> > > + domain = state->domain;
> > > + DEBUG(SSSDBG_TRACE_FUNC, "Using domain %s\n",
domain->name);
> > > + } else {
> > > + continue;
> > > + }
> > > }
> >
> > I think this is a bit dangerous. I wonder if we should have some
> > modification of find_subdomain_by_sid that would return the first
> > configured domain if no subdomain provider was configured or if no
> > domains had a SID. This could be a separate function.
>
> This sounds even more dangerous to me.
>
> >
> > Anyhow, find_subdomain_by_sid is misnamed, we routinely use the function
> > to find the primary domain.
>
> I think find_subdomain_by_sid() does what the name says and of course it
> can return the primary domain as long as the SID of the domain is know
^^^^^^
fwiw, this was my concern, the function is named "find_subdomain" yet it
can find both main domain and subdomain. But I won't bikeshed any further.
> which is the case for the IPA and AD provider.
>
> What about adding an explicit check if the running id provider is the
> plain LDAP provider?
Would that be acceptable with you Jakub?
It's a bit hackish but I don't see any other way.
> As an alternative the LDAP provider can add a
> special value in the id member of the sss_dom_info struct and then
> find_subdomain_by_sid can handle this case specially?
>
> bye,
> Sumit
>
> > _______________________________________________
> > sssd-devel mailing list
> > sssd-devel(a)lists.fedorahosted.org
> >
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
> _______________________________________________
> sssd-devel mailing list
> sssd-devel(a)lists.fedorahosted.org
>
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel