set_directive only checks that a lines startswith the given directive (key) before writing the new directive. This means that any key that starts with the given key will be clobbered and no longer exist.
startswith
This causes real problems like, e.g. the removal from Dogtag CS.cfg of the ca.sslserver.certreq parameter when the ca.sslserver.cert directive gets updated during Dogtag Server-Cert renewal. This causes subsequent KRA installation failure.
CS.cfg
ca.sslserver.certreq
ca.sslserver.cert
Server-Cert cert-pki-ca
The routine should leave alone keys that are not exactly the key to be replaced.
Metadata Update from @ftweedal: - Issue assigned to ftweedal
Metadata Update from @ftweedal: - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/1347
master:
ipa-4-6:
ipa-4-5:
Metadata Update from @frenaud: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1512482
Issue linked to bug 1512482
Metadata Update from @cheimes: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Metadata Update from @rcritten: - Issue set to the milestone: FreeIPA 4.5.5
ipa-4-7: