Add dnsconfd DNS plugin
Summary
This merge request allows Dnsconfd to be used for configuration of system caching resolver. It is built upon URI parsing written by @bgalvani and thus his !2090 (merged) MR has to be merged before this one.
Purpose
Dnsconfd can now be used for configuration of system wide resolver. New option resolve-mode and certification-authority has been added to global-dns section of configuration to allow further control of the dynamic configuration and setting up custom certificate authority.
Checklist
Please read https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md before opening the merge request. In particular, check that:
-
the subject for all commits is concise and explicative -
the message for all commits explains the reason for the change -
the source is properly formatted -
any relevant documentation is up to date -
[-] you have added unit tests if applicable - not sure whether code parsing the intertwined NM structures is easily unit testable, can add if required but most likely will have to refactor bits of nm-dns-manager.c to expose functions creating DNS structures.
-
the NEWS file is updated when the change deserves to be mentioned, for example for new features, behavior changes, API deprecations, etc.