cgrzemba / 389-ds-base

Forked from 389-ds-base 5 years ago
Clone

332e36b Ticket 47573: schema push can be erronously prevented

Authored and Committed by tbordaz 10 years ago
    Ticket 47573: schema push can be erronously prevented
    
    Bug Description:
    	 With the ticket https://fedorahosted.org/389/ticket/47490, the schema is not pushed if the consumer schema is
    	a superset of the supplier schema.
    
    	To determine that a schema is a superset, for each objectclass, the required attributes on the supplier are compared
    	with the 'required' attribute on the consumer.  Same thing for the 'may' attributes.
    
    	If we have an attribute that is moved on the supplier, from the 'MUST' list to the 'MAY' list.
    	The supplier objectclass is a superset of the consumer objectclass, but will be evaluated to be subset => prevent schema push
    
    Fix Description:
    	When looking at each consumer OC, if a 'required' attribute in missing in the related supplier OC it checks
    	if the attribute is present in the 'allowed' attribute in the related supplier OC.
    	If it is, that means the attribure was moved from 'MUST' to 'MAY' in the new supplier schema and that any
    	existing entry with that OC, will conform the new supplier schema
    
    https://fedorahosted.org/389/ticket/47573
    
    Reviewed by: Rich Megginson
    
    Platforms tested: F17/F19(jenkins)
    
    Flag Day: no
    
    Doc impact: no
    
        
file modified
+43 -20