[SSSD] [PATCH] [RFC] refactor nested group processing

Pavel Březina pbrezina at redhat.com
Wed Feb 13 12:22:40 UTC 2013


Hi,
I started working on https://fedorahosted.org/sssd/ticket/1784 and I'd
like to get some comments so I know I'm heading the right direction.

*Current state:*
There is one tevent request per a nesting level. The request continues
with many "step" and other-named functions. The path is different for
deref and noderef processing, but the two branches intersect many
times. It uses a lot of recursion. It often translates return codes.

All of this make it hard to understand the process, hard to maintain
and especially it is hard to step out of the process at chosen point.

*New approach:*
There will be several tevent request per nesting level:
            main-req (from sdap_nested_group_send)
                |
         nesting-level-req
           /        \
    noderef-req   deref-req
                     |
              possible-noderef-req

I believe this will give us clean tevent solution.
It is closed API with the following interface:
- sdap_nested_group_send()
- sdap_nested_group_recv()

The code is far from complete, I have finished only the main interface
so far. Otherwise it is just a skeleton. Especially
sdap_nested_group_(deref|single)* functions are just a generated code
so you don't have to bother reading them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-refactor-nested-group-processing.patch
Type: text/x-patch
Size: 15822 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130213/080c5bbc/attachment.bin>


More information about the sssd-devel mailing list