Ticket 48961 - Allow reset of configuration values to defaults.
This ticket really has three parts, but they are hard to seperate out.
- When the admin wants to revert from seperate audit and
auditfail logs, they were unable to because ldapmod would issue
unwilling_to_perform on the mod_delete of the nsslapd-auditfaillog attribute.
- A number of our defaults were inconsistently defined, had
values that did not match, or did not exist at all.
- Given that our defaults are all in the server, we should stop
hardcoding them in template.dse.ldif. The issue here is if we need to *change*
a value, because it's in the dse.ldif, we will always be overridden. Our
default upgrade process is useless now!
- Add nsslapd-auditfaillog to the allowed delete attribute list.
Fix the defaults to be correctly set both in the struct, and the init functions.
Fix config_set to allow delete based on named value, instead of just attr.
- Move all configuration defaults to slap.h, in a single location.
Properly define the defaults with the int / string counterparts, and use them.
This way, when a config default is changed, we change it in "one" place, and
it "just works". Previously, we were not able to easily change defaults due
to the need to hunt for the values throughout the code.
- Remove most of the hardcoded values in dse.ldif. It turns out
some of the conflicted with the values in slap.h (slap.h now matches what was
in dse.ldif to not break expectations). Fix logging initialisation to use
the cfg, as it relied on there being values in dse.ldif else it wouldn't even
start the logging system.
Review by: nhosoi, mreynolds (Thanks!)