On Fri, 2009-11-27 at 19:13 -0500, Simo Sorce wrote:
When I did the enumgrent optimization patch I totally forgot about
nested groups for some reason.
Of course I broke them. The gain in performance although was just way
too substantial to just revert to the previous way of resolving nested
groups again and again at every search.
These 2 patches instead store unrolled groups by adding a new
operational attribute: memberuid
This attribute contains just the user name of any user directly or
indirectly (through a nested group) members of a group.
This way computation is done once at modify time and never again.
Fixes bug #291
Thanks to Sumit and some tests he is building it turned out this
patchset wasn't working correctly.
There were 2 problems.
1. an old standing bug we didn't catch earlier. It was causing some
memberof attributes from not being deleted when an entry was deleted or
a membership removed. Because the memberuid patch piggybacked on some of
the memberof deletes to know what to do, memberuid deletion also didn;t
behave properly.
2. A minor bug of its own in the memberuid patch.
Attached find:
0001 fix the old memberof bug
0002 New memberuid patch for memberof
0003 Rebased patch to use memberuid in enumerations
0004 Rebased patch (and fixed description) patch to use custom password
field
Simo.
--
Simo Sorce * Red Hat, Inc * New York