30aa91c Ticket 48362: With exhausted range, part of DNA shared configuration is deleted after server restart

Authored and Committed by tbordaz 5 years ago
    Ticket 48362: With exhausted range, part of DNA shared configuration is deleted after server restart
    
    Bug Description:
    	When a config entry (i.e. cn=posix-ids,cn=dna,cn=ipa,cn=etc,SUFFIX) defines an exhausted
    	range, the config is seen as invalid and the server is not added to dna_global_servers.
            When the LDAP server entry dnaHostname=<host_fqdn>+dnaPortNum=389,cn=posix-ids,cn=dna,cn=ipa,cn=etc,SUFFIX
    	is recreated (startup or shared config entry update), the server being not in dna_global_servers the
    	entry is created with a minimal set of attributes.
    
    	So if for example bindmethod or connection protocol were set to 'dnaHostname=<host_fqdn>+dnaPortNum=389,
    	cn=posix-ids,cn=dna,cn=ipa,cn=etc,SUFFIX' before restart, they are cleared at startup
    
    	Note that if the config entry defines an exhausted range, the recreated shared config entry contains
    	dnaRemainingValues: 0
    
    Fix Description:
    
    	The fix is that dna_get_shared_servers builds a list of all config entries even those with exhausted range.
    
    	When dna_get_shared_servers is used to create dna_global_servers, it will allow to recreate the shared config entry
    	with its previous settings.
    
    	When dna_get_shared_servers is used to retrieve all servers to contact to request a new range, the
    	server is skipped if it contains NULL remaining values.
    
    https://fedorahosted.org/389/ticket/48362
    
    Reviewed by: Mark Reynolds (Thank you Mark !)
    
    Platforms tested: F17,F23
    
    Flag Day: no
    
    Doc impact: no