While [1] did open recursion, it also opened widely a security flaw. This patch intends to close it back, while allowing operators to easily add their open configuration within Bind9. In order to allow operators to still open Bind recursion, a new file is introduced, "ipa-ext.conf" (path might change according to the OS). This file is not managed by the installer, meaning changes to it won't be overridden. Since it's included at the very end of the main configuration file, it also allows to override some defaults - of course, operators have to be careful with that. Related-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1754530 Fixes: https://pagure.io/freeipa/issue/8079 [1] https://github.com/freeipa/freeipa/commit/5f4c75eb28b3d50a35fbf3a86a6d842bce8e72f9 Reviewed-By: Christian Heimes <cheimes@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> Reviewed-By: Stanislav Levin <slev@altlinux.org>
Ground rules on adding new schema Brand new schema, particularly when written specifically for IPA, should be added in share/*.ldif. Any new files need to be explicitly loaded in ipaserver/install/dsinstance.py. These simply get copied directly into the new instance schema directory. Existing schema (e.g. in an LDAP draft) may either be added as a separate ldif in share or as an update in the updates directory. The advantage of adding the schema as an update is if 389-ds ever adds the schema then the installation won't fail due to existing schema failing to load during bootstrap. If the new schema requires a new container then this should be added to install/bootstrap-template.ldif.