[SSSD] Design Discussion: Domains, users and groups over D-Bus

Pavel Březina pbrezina at redhat.com
Tue Jan 6 10:31:55 UTC 2015


On 01/06/2015 11:10 AM, Jakub Hrozek wrote:
> On Tue, Dec 16, 2014 at 02:26:22PM +0100, Pavel Březina wrote:
>> https://fedorahosted.org/sssd/wiki/DesignDocs/DBusResponder
>>
>> Hi,
>> I have take the following tikcet that is about implementing D-Bus calls for
>> domains, users and groups. I have some questions.
>>
>> https://fedorahosted.org/sssd/ticket/2150
>>
>> *List and Find methods interface*
>> At this moment we implement all List* and Find* methods on
>> /org/freedesktop/sssd/infopipe and org.freedesktop.sssd.infopipe interface.
>>
>> The patches I sent today enables having support for different interfaces on
>> /path and /path/*, therefore we can implement the methods as:
>>
>> /infopipe/Users infopipe.Users.ListUsers()
>> /infopipe/Users/$UID user specific methods and properties
>>
>> instead of:
>> /infopipe infopipe.ListUsers()
>> /infopipe/Users/$UID user specific methods and properties
>>
>> I think it make sense. Is this something we want?
>
> Yes, I like this suggestion better, too.
>
>>
>> *Domains*
>> The interface from the design page is already implemented. Is there any
>> method or property that is missing?
>
> I'm not aware of any. Maybe in the future, we may add some
> online/offline status check, when we implement that in the deamon, but
> for now I think we're good.
>
>>
>> *Users*
>> Do we want also to have methods ListDomainUsers() and ListUsers() without
>> the name filter?
>
> To list all? What about using '*' for that?

We can implement it this way internally, but exposing an easier way to 
the consumers is nice, imho.

However, do we actually want to allow to list all users? As Dmitri 
suggested we may want to require the minimum filter length since the 
number of users may be very high. The maximum D-Bus message is 128MiB so 
I think we are good there but I think it can be very time consuming to 
return all users without some sort of paging.

>> Do we want some other filter options as well?
>
> In the design I wanted to keep the filtering simple. Unless we receive
> some other requirements..

Yes, you suggested to allow only asterisk. Implement full regular 
expression efficiently as Dmitri would be quite problematic since ldb 
doesn't support regex lookup thus we would have to do this ourselves and 
therefore we would loose indices, or am I wrong?

>> Should extraAttributes be present in Properties.GetAll() output?
>
> Yes, I think it would be a bug if they're not :-)

Ok.

>> What is UpdateGroupList() supposed to do?
>
> Update the group property you asked about below. Basically re-run
> initgroups().

Ok.

>> Property groups - do we really want to return list of object paths instead
>> of pure group names? I think that more common use case will want only the
>> names. Or we can even implement both.
>
> IIRC Stef requested object paths as being more common in the D-Bus
> world.

Ok.





More information about the sssd-devel mailing list