On Wed, Dec 02, 2009 at 09:22:18PM +0000, Simo Sorce wrote:
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
2. A minor bug of its own in the memberuid patch.
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
All 4 patches apply, compile without warnings and pass my tests (see
'[PATCH] Add checks to test the memberuid handling' on this list).