Re: Improvements in name resolution, DNS and HTTPS RR and SVCB future usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Not sure I follow here. Chrony is default NTP implementation on Fedora AFAIK. Not systemd-timesyncd or timedatex. Chrony does not use varlink interface, does it?

On 21/10/2024 15:11, Michael Catanzaro wrote:
On Mon, Oct 21 2024 at 02:51:56 PM +02:00:00, Lennart Poettering <mzerqung@xxxxxxxxxxx> wrote:
I know you don't like systemd-resolved, but maybe you can at least
acknowledge that is does exist.

The nice thing about IPC APIs is it's easy to reimplement them however you please, similar to how elogind reimplements many systemd D-Bus APIs. It might make more sense to stick with the systemd-resolved varlink and D-Bus APIs that already exist, rather than create yet another competing standard.

From what I have seen in output of:

varlinkctl introspect /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve

Those interface takes well documented DNS protocol packet and translates it to a different format. Okay, one does not have to understand working with binary DNS wire format. Although they are mostly clear to me, no comments or examples are given. Basic structure is obvious, but is there more documentation for it?

If I have seen correctly, no parsed response presents also TTL, for example. If my application wants to have own responses cache (like browsers do), it should know when to refresh a record. But these interfaces does not seem to allow that. If those structures should add another field, it may break other applications, right? The only way would be ResolveRecord() and decoding binary response.

Is there any way to query rpm packages for consumers of this API? Can we tell how much applications already use these varlink APIs?

But from path /run/systemd/resolve/io.systemd.Resolve it does not seem to be generic service API. I doubt alternate services providing resolution should be forced to create sockets in /run/systemd/resolve directory.

Is there any example application taking advantage of those API, which could be given as a well implemented example?


We even have some non-DNS precedent for this. When systemd-timedated removed support for NTP services other than systemd-timesyncd, Fedora replaced systemd-timedated with timedatex and maintained timedatex for several years. Then when systemd-timedated backtracked on that decision, we switched back. Applications never noticed because the API was the same the whole time.
My colleague from my team is maintainer of chrony package. As far as I can tell, chrony is the default on Fedora. Not sure how exactly it interacts with systemd-timedated. But timedatectl shows my time is synchronized, so it somehow communicates. Even when chrony does not seem to be implementing varlink nor DBus. This example did not help me to understand, why is the varlink the better way.

--
Petr Menšík
Software Engineer, RHEL
Red Hat, https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux