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