63ad914 Fix indirect member calculation

Authored and Committed by rcritten 12 years ago
    Fix indirect member calculation
    
    Indirect membership is calculated by looking at each member and pulling
    all the memberof out of it. What was missing was doing nested searches
    on any members in that member group.
    
    So if group2 was a member of group1 and group3 was a member of group2
    we would miss group3 as being an indirect member of group1.
    
    I updated the nesting test to do deeper nested testing. I confirmed
    that this test failed with the old code and works with the new.
    
    This also prevents duplicate indirect users and looping on circular
    membership.
    
    ticket https://fedorahosted.org/freeipa/ticket/1273
    
        
file modified
+16 -9